From 793bc0afbdccd97e66b2bdf43c2ce5653140ee5e Mon Sep 17 00:00:00 2001 From: Atsushi Nemoto Date: Wed, 14 Mar 2007 01:02:20 +0900 Subject: [PATCH] tc35815: Fix an usage of streaming DMA API. The tc35815 driver lacks a call to pci_dma_sync_single_for_device() on receiving. Recent fix of MIPS dma_sync_single_for_cpu() reveal this bug. Signed-off-by: Atsushi Nemoto Signed-off-by: Jeff Garzik --- drivers/net/tc35815.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/net/tc35815.c b/drivers/net/tc35815.c index 1a1b74c..b269b18 100644 --- a/drivers/net/tc35815.c +++ b/drivers/net/tc35815.c @@ -58,12 +58,13 @@ * 1.34 Fix netpoll locking. "BH rule" for NAPI is not enough with * netpoll, hard_start_xmit might be called from irq context. * PM support. + * 1.35 Fix an usage of streaming DMA API. */ #ifdef TC35815_NAPI -#define DRV_VERSION "1.34-NAPI" +#define DRV_VERSION "1.35-NAPI" #else -#define DRV_VERSION "1.34" +#define DRV_VERSION "1.35" #endif static const char *version = "tc35815.c:v" DRV_VERSION "\n"; #define MODNAME "tc35815" @@ -1550,6 +1551,11 @@ tc35815_rx(struct net_device *dev) PCI_DMA_FROMDEVICE); #endif memcpy(data + offset, rxbuf, len); +#ifdef TC35815_DMA_SYNC_ONDEMAND + pci_dma_sync_single_for_device(lp->pci_dev, + dma, len, + PCI_DMA_FROMDEVICE); +#endif offset += len; cur_bd++; } -- 2.7.4