Messages in this thread | | | Date | Thu, 21 Aug 2008 11:20:27 -0400 | From | Timothy J Fontaine <> | Subject | Re: r8169 MTU greater than 1500 causes corruption for other controllers |
| |
On Wed, Aug 20, 2008 at 11:43:50PM +0200, Francois Romieu wrote: > Ilpo Järvinen <ilpo.jarvinen@helsinki.fi> : > [...] > > Hmm, there was no explanation why the tp->rx_buf_sz to pkt_size change > > was made in that commit (I have no idea whether those sizes have to match > > to other places that use tp->rx_buf_sz)... > > Because there is no need to sync data that has not been used ? > > Timothy, could you check if the patch below does the job too ? It should > fix at least one pci_map / pci_unmap unbalance. > > @@ -2789,10 +2789,10 @@ static int rtl8169_rx_interrupt(struct net_device *dev, > > if (rtl8169_try_rx_copy(&skb, tp, pkt_size, addr)) { > pci_dma_sync_single_for_device(pdev, addr, > pkt_size, PCI_DMA_FROMDEVICE); > rtl8169_mark_to_asic(desc, tp->rx_buf_sz); > } else { > - pci_unmap_single(pdev, addr, pkt_size, > + pci_unmap_single(pdev, addr, tp->rx_buf_sz, > PCI_DMA_FROMDEVICE); > tp->Rx_skbuff[entry] = NULL; > } > > -- > Ueimor
Yup, this patch also works.
tjfontaine [unhandled content-type:application/pgp-signature] | |