Messages in this thread | | | Date | Mon, 28 Apr 2008 10:42:38 +0400 | From | Alexey Dobriyan <> | Subject | Re: atl1 64-bit => 32-bit DMA borkage (reproducible, bisected) |
| |
On Fri, Apr 25, 2008 at 07:57:43PM -0500, Jay Cliburn wrote: > On Mon, 21 Apr 2008 21:08:21 -0500 > Jay Cliburn <jacliburn@bellsouth.net> wrote: > > > > > Alexey, can you please try this (very minimally tested) patch? > > Alexey, have you found time to try this patch yet?
I've tried it and it doesn't help. http://marc.info/?l=linux-netdev&m=120888791230434&w=2
> > --- 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;
| |