diff options
author | Felix Fietkau <nbd@openwrt.org> | 2011-04-07 13:30:32 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-04-12 16:57:36 -0400 |
commit | 952949738aba19f84dae9def18e0baa58f0ce0b8 (patch) | |
tree | e6e325a9ab184a8e1a297ee91f94e5575e9bde44 | |
parent | 264bbec811024e39fe8f9e7a45743f81f373529e (diff) |
ath9k: fix too early enabling of rx during ath_startrecv()
rx should only be enabled after enough rx buffers have been given to the
hardware, however ath_rx_buf_link was calling ath9k_hw_rxena after every
single added buffer.
Fix this by calling ath9k_hw_rxena directly from the rx tasklet after
completion instead.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r-- | drivers/net/wireless/ath/ath9k/recv.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/ath9k/recv.c b/drivers/net/wireless/ath/ath9k/recv.c index ef198ae71eb..b81bfc4d66e 100644 --- a/drivers/net/wireless/ath/ath9k/recv.c +++ b/drivers/net/wireless/ath/ath9k/recv.c | |||
@@ -75,7 +75,6 @@ static void ath_rx_buf_link(struct ath_softc *sc, struct ath_buf *bf) | |||
75 | *sc->rx.rxlink = bf->bf_daddr; | 75 | *sc->rx.rxlink = bf->bf_daddr; |
76 | 76 | ||
77 | sc->rx.rxlink = &ds->ds_link; | 77 | sc->rx.rxlink = &ds->ds_link; |
78 | ath9k_hw_rxena(ah); | ||
79 | } | 78 | } |
80 | 79 | ||
81 | static void ath_setdefantenna(struct ath_softc *sc, u32 antenna) | 80 | static void ath_setdefantenna(struct ath_softc *sc, u32 antenna) |
@@ -1765,6 +1764,7 @@ requeue: | |||
1765 | } else { | 1764 | } else { |
1766 | list_move_tail(&bf->list, &sc->rx.rxbuf); | 1765 | list_move_tail(&bf->list, &sc->rx.rxbuf); |
1767 | ath_rx_buf_link(sc, bf); | 1766 | ath_rx_buf_link(sc, bf); |
1767 | ath9k_hw_rxena(ah); | ||
1768 | } | 1768 | } |
1769 | } while (1); | 1769 | } while (1); |
1770 | 1770 | ||