diff options
author | John W. Linville <linville@tuxdriver.com> | 2014-05-13 21:27:44 +0200 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2014-05-13 21:27:44 +0200 |
commit | 3231d65ffe36e177caf5006d4079867d9b7b2d4a (patch) | |
tree | 375c625573387973b4d03ca80eaed2477490fc8b /drivers/net/wireless/ath/ath9k/recv.c | |
parent | Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlw... (diff) | |
parent | Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlw... (diff) | |
download | linux-3231d65ffe36e177caf5006d4079867d9b7b2d4a.tar.xz linux-3231d65ffe36e177caf5006d4079867d9b7b2d4a.zip |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/recv.c')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/recv.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/net/wireless/ath/ath9k/recv.c b/drivers/net/wireless/ath/ath9k/recv.c index a1fac6bdbb04..43ae199601f7 100644 --- a/drivers/net/wireless/ath/ath9k/recv.c +++ b/drivers/net/wireless/ath/ath9k/recv.c @@ -978,6 +978,7 @@ int ath_rx_tasklet(struct ath_softc *sc, int flush, bool hp) u64 tsf = 0; unsigned long flags; dma_addr_t new_buf_addr; + unsigned int budget = 512; if (edma) dma_type = DMA_BIDIRECTIONAL; @@ -1116,15 +1117,17 @@ requeue_drop_frag: } requeue: list_add_tail(&bf->list, &sc->rx.rxbuf); - if (flush) - continue; if (edma) { ath_rx_edma_buf_link(sc, qtype); } else { ath_rx_buf_relink(sc, bf); - ath9k_hw_rxena(ah); + if (!flush) + ath9k_hw_rxena(ah); } + + if (!budget--) + break; } while (1); if (!(ah->imask & ATH9K_INT_RXEOL)) { |