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>
This commit is contained in:
parent
1e56a4b402
commit
793bc0afbd
|
@ -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++;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue