|
@@ -1124,6 +1124,10 @@ static int ath9k_rx_skb_preprocess(struct ath_softc *sc,
|
|
|
return -EINVAL;
|
|
|
|
|
|
rx_stats->is_mybeacon = ath9k_is_mybeacon(sc, hdr);
|
|
|
+ if (rx_stats->is_mybeacon) {
|
|
|
+ sc->hw_busy_count = 0;
|
|
|
+ ath_start_rx_poll(sc, 3);
|
|
|
+ }
|
|
|
|
|
|
if (ath9k_process_rate(common, hw, rx_stats, rx_status))
|
|
|
return -EINVAL;
|
|
@@ -1278,10 +1282,6 @@ int ath_rx_tasklet(struct ath_softc *sc, int flush, bool hp)
|
|
|
if (retval)
|
|
|
goto requeue_drop_frag;
|
|
|
|
|
|
- if (rs.is_mybeacon) {
|
|
|
- sc->hw_busy_count = 0;
|
|
|
- ath_start_rx_poll(sc, 3);
|
|
|
- }
|
|
|
/* Ensure we always have an skb to requeue once we are done
|
|
|
* processing the current buffer's skb */
|
|
|
requeue_skb = ath_rxbuf_alloc(common, common->rx_bufsize, GFP_ATOMIC);
|