[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080421210821.28053a92@osprey.hogchain.net>
Date: Mon, 21 Apr 2008 21:08:21 -0500
From: Jay Cliburn <jacliburn@...lsouth.net>
To: Alexey Dobriyan <adobriyan@...il.com>
Cc: Luca Tettamanti <kronos.it@...il.com>,
Chris Snook <csnook@...hat.com>, Jeff Garzik <jeff@...zik.org>,
Pekka Enberg <penberg@...helsinki.fi>,
Andrew Morton <akpm@...ux-foundation.org>,
linux-kernel@...r.kernel.org, netdev@...r.kernel.org,
Christoph Lameter <clameter@....com>, torvalds@...l.org
Subject: Re: atl1 64-bit => 32-bit DMA borkage (reproducible, bisected)
On Mon, 21 Apr 2008 00:55:00 +0400
Alexey Dobriyan <adobriyan@...il.com> wrote:
> Aha, ifconfig down is enough. Here is how reproducer looks like now:
>
> ./sync-linux-linus && ssh core2 "sudo /sbin/ifconfig eth0
> down"
>
> where first script is basically scp(1).
>
> Also, booting with 1G or 2G of RAM (mem=1024m) makes issue go away.
>
> printk at dev_close() time shows that NETIF_F_HIGHDMA was not somehow
> enabled.
>
Alexey, can you please try this (very minimally tested) patch?
diff --git a/drivers/net/atlx/atl1.c b/drivers/net/atlx/atl1.c
index 5586fc6..07fe5c0 100644
--- a/drivers/net/atlx/atl1.c
+++ b/drivers/net/atlx/atl1.c
@@ -1115,9 +1115,6 @@ static void atl1_free_ring_resources(struct atl1_adapter *adapter)
struct atl1_rrd_ring *rrd_ring = &adapter->rrd_ring;
struct atl1_ring_header *ring_header = &adapter->ring_header;
- atl1_clean_tx_ring(adapter);
- atl1_clean_rx_ring(adapter);
-
kfree(tpd_ring->buffer_info);
pci_free_consistent(pdev, ring_header->size, ring_header->desc,
ring_header->dma);
@@ -3423,6 +3420,8 @@ static int atl1_set_ringparam(struct net_device *netdev,
adapter->rrd_ring = rrd_old;
adapter->tpd_ring = tpd_old;
adapter->ring_header = rhdr_old;
+ atl1_clean_tx_ring(adapter);
+ atl1_clean_rx_ring(adapter);
atl1_free_ring_resources(adapter);
adapter->rfd_ring = rfd_new;
adapter->rrd_ring = rrd_new;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists