ath9k: fix dma direction for map/unmap in ath_rx_tasklet
For edma, we should use DMA_BIDIRECTIONAL, or else use DMA_FROM_DEVICE. This is found to address "BUG at arch/x86/mm/physaddr.c:5" as described here: http://lkml.org/lkml/2010/7/14/21 Signed-off-by: Ming Lei <tom.leiming@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Родитель
06ee1c2613
Коммит
f792af250d
|
@ -844,9 +844,9 @@ int ath_rx_tasklet(struct ath_softc *sc, int flush, bool hp)
|
||||||
int dma_type;
|
int dma_type;
|
||||||
|
|
||||||
if (edma)
|
if (edma)
|
||||||
dma_type = DMA_FROM_DEVICE;
|
|
||||||
else
|
|
||||||
dma_type = DMA_BIDIRECTIONAL;
|
dma_type = DMA_BIDIRECTIONAL;
|
||||||
|
else
|
||||||
|
dma_type = DMA_FROM_DEVICE;
|
||||||
|
|
||||||
qtype = hp ? ATH9K_RX_QUEUE_HP : ATH9K_RX_QUEUE_LP;
|
qtype = hp ? ATH9K_RX_QUEUE_HP : ATH9K_RX_QUEUE_LP;
|
||||||
spin_lock_bh(&sc->rx.rxbuflock);
|
spin_lock_bh(&sc->rx.rxbuflock);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче