fix multicast/authframe handling for wds ap with split sta interfaces
[openwrt.git] / package / madwifi / patches / 376-beacon_update.patch
1 --- a/ath/if_ath.c
2 +++ b/ath/if_ath.c
3 @@ -5495,6 +5495,8 @@
4                 ath_hal_intrset(ah, sc->sc_imask);
5                 ath_set_beacon_cal(sc, 0);
6         } else {
7 +               unsigned long flags;
8 +
9                 ath_hal_intrset(ah, 0);
10                 if (reset_tsf)
11                         intval |= HAL_BEACON_RESET_TSF;
12 @@ -5514,11 +5516,14 @@
13                 ath_beacon_dturbo_config(vap, intval &
14                                 ~(HAL_BEACON_RESET_TSF | HAL_BEACON_ENA));
15  #endif
16 +               local_irq_save(flags);
17                 if ((nexttbtt & HAL_BEACON_PERIOD) - (ath_hal_gettsf32(ah) >> 10)
18                                 <= ath_hal_sw_beacon_response_time)
19                         nexttbtt += intval;
20                 sc->sc_nexttbtt = nexttbtt;
21                 ath_hal_beaconinit(ah, nexttbtt, intval);
22 +               local_irq_restore(flags);
23 +
24                 if (intval & HAL_BEACON_RESET_TSF) {
25                         sc->sc_last_tsf = 0;
26                 }