aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAtsushi Nemoto <anemo@mba.ocn.ne.jp>2007-03-14 01:02:20 +0900
committerJeff Garzik <jeff@garzik.org>2007-04-28 11:00:58 -0400
commit793bc0afbdccd97e66b2bdf43c2ce5653140ee5e (patch)
tree5383129defd96eeab108cfcc4178d19cd0ec4284
parent1e56a4b4029dd1cabf73f28970b5c11bcbae6bb7 (diff)
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 <anemo@mba.ocn.ne.jp> Signed-off-by: Jeff Garzik <jeff@garzik.org>
-rw-r--r--drivers/net/tc35815.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/net/tc35815.c b/drivers/net/tc35815.c
index 1a1b74c956b..b269b187b55 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++;
}