aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath9k/recv.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/recv.c')
-rw-r--r--drivers/net/wireless/ath/ath9k/recv.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/net/wireless/ath/ath9k/recv.c b/drivers/net/wireless/ath/ath9k/recv.c
index 9c7f905f3871..bcc0b222ec18 100644
--- a/drivers/net/wireless/ath/ath9k/recv.c
+++ b/drivers/net/wireless/ath/ath9k/recv.c
@@ -1839,7 +1839,7 @@ int ath_rx_tasklet(struct ath_softc *sc, int flush, bool hp)
1839 * If we're asked to flush receive queue, directly 1839 * If we're asked to flush receive queue, directly
1840 * chain it back at the queue without processing it. 1840 * chain it back at the queue without processing it.
1841 */ 1841 */
1842 if (flush) 1842 if (sc->sc_flags & SC_OP_RXFLUSH)
1843 goto requeue_drop_frag; 1843 goto requeue_drop_frag;
1844 1844
1845 retval = ath9k_rx_skb_preprocess(common, hw, hdr, &rs, 1845 retval = ath9k_rx_skb_preprocess(common, hw, hdr, &rs,
@@ -1950,7 +1950,7 @@ int ath_rx_tasklet(struct ath_softc *sc, int flush, bool hp)
1950 ath_rx_ps(sc, skb); 1950 ath_rx_ps(sc, skb);
1951 spin_unlock_irqrestore(&sc->sc_pm_lock, flags); 1951 spin_unlock_irqrestore(&sc->sc_pm_lock, flags);
1952 1952
1953 if (ah->caps.hw_caps & ATH9K_HW_CAP_ANT_DIV_COMB) 1953 if ((ah->caps.hw_caps & ATH9K_HW_CAP_ANT_DIV_COMB) && sc->ant_rx == 3)
1954 ath_ant_comb_scan(sc, &rs); 1954 ath_ant_comb_scan(sc, &rs);
1955 1955
1956 ieee80211_rx(hw, skb); 1956 ieee80211_rx(hw, skb);
@@ -1967,7 +1967,8 @@ requeue:
1967 } else { 1967 } else {
1968 list_move_tail(&bf->list, &sc->rx.rxbuf); 1968 list_move_tail(&bf->list, &sc->rx.rxbuf);
1969 ath_rx_buf_link(sc, bf); 1969 ath_rx_buf_link(sc, bf);
1970 ath9k_hw_rxena(ah); 1970 if (!flush)
1971 ath9k_hw_rxena(ah);
1971 } 1972 }
1972 } while (1); 1973 } while (1);
1973 1974