Re: r8169 MTU greater than 1500 causes corruption for othercontrollers

From: Francois Romieu
Date: Wed Aug 20 2008 - 17:44:22 EST


Ilpo Järvinen <ilpo.jarvinen@xxxxxxxxxxx> :
[...]
> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/