diff options
author | Atsushi Nemoto <anemo@mba.ocn.ne.jp> | 2007-03-13 12:02:20 -0400 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-04-28 11:00:58 -0400 |
commit | 793bc0afbdccd97e66b2bdf43c2ce5653140ee5e (patch) | |
tree | 5383129defd96eeab108cfcc4178d19cd0ec4284 | |
parent | 1e56a4b4029dd1cabf73f28970b5c11bcbae6bb7 (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.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/net/tc35815.c b/drivers/net/tc35815.c index 1a1b74c956bd..b269b187b55f 100644 --- a/drivers/net/tc35815.c +++ b/drivers/net/tc35815.c | |||
@@ -58,12 +58,13 @@ | |||
58 | * 1.34 Fix netpoll locking. "BH rule" for NAPI is not enough with | 58 | * 1.34 Fix netpoll locking. "BH rule" for NAPI is not enough with |
59 | * netpoll, hard_start_xmit might be called from irq context. | 59 | * netpoll, hard_start_xmit might be called from irq context. |
60 | * PM support. | 60 | * PM support. |
61 | * 1.35 Fix an usage of streaming DMA API. | ||
61 | */ | 62 | */ |
62 | 63 | ||
63 | #ifdef TC35815_NAPI | 64 | #ifdef TC35815_NAPI |
64 | #define DRV_VERSION "1.34-NAPI" | 65 | #define DRV_VERSION "1.35-NAPI" |
65 | #else | 66 | #else |
66 | #define DRV_VERSION "1.34" | 67 | #define DRV_VERSION "1.35" |
67 | #endif | 68 | #endif |
68 | static const char *version = "tc35815.c:v" DRV_VERSION "\n"; | 69 | static const char *version = "tc35815.c:v" DRV_VERSION "\n"; |
69 | #define MODNAME "tc35815" | 70 | #define MODNAME "tc35815" |
@@ -1550,6 +1551,11 @@ tc35815_rx(struct net_device *dev) | |||
1550 | PCI_DMA_FROMDEVICE); | 1551 | PCI_DMA_FROMDEVICE); |
1551 | #endif | 1552 | #endif |
1552 | memcpy(data + offset, rxbuf, len); | 1553 | memcpy(data + offset, rxbuf, len); |
1554 | #ifdef TC35815_DMA_SYNC_ONDEMAND | ||
1555 | pci_dma_sync_single_for_device(lp->pci_dev, | ||
1556 | dma, len, | ||
1557 | PCI_DMA_FROMDEVICE); | ||
1558 | #endif | ||
1553 | offset += len; | 1559 | offset += len; |
1554 | cur_bd++; | 1560 | cur_bd++; |
1555 | } | 1561 | } |