ath9k: fix an aggregation hang issue that happens when a hardware reset is issued
[openwrt/svn-archive/archive.git] / package / mac80211 / patches / 570-ath9k_reset_aggr_fix.patch
1 --- a/drivers/net/wireless/ath/ath9k/main.c
2 +++ b/drivers/net/wireless/ath/ath9k/main.c
3 @@ -587,7 +587,7 @@ void ath_hw_check(struct work_struct *wo
4
5 msleep(1);
6 }
7 - ath_reset(sc, false);
8 + ath_reset(sc, true);
9
10 out:
11 ath9k_ps_restore(sc);
12 @@ -605,7 +605,7 @@ void ath9k_tasklet(unsigned long data)
13 ath9k_ps_wakeup(sc);
14
15 if (status & ATH9K_INT_FATAL) {
16 - ath_reset(sc, false);
17 + ath_reset(sc, true);
18 ath9k_ps_restore(sc);
19 return;
20 }
21 --- a/drivers/net/wireless/ath/ath9k/xmit.c
22 +++ b/drivers/net/wireless/ath/ath9k/xmit.c
23 @@ -2163,7 +2163,7 @@ static void ath_tx_complete_poll_work(st
24 ath_print(ath9k_hw_common(sc->sc_ah), ATH_DBG_RESET,
25 "tx hung, resetting the chip\n");
26 ath9k_ps_wakeup(sc);
27 - ath_reset(sc, false);
28 + ath_reset(sc, true);
29 ath9k_ps_restore(sc);
30 }
31
32 --- a/drivers/net/wireless/ath/ath9k/beacon.c
33 +++ b/drivers/net/wireless/ath/ath9k/beacon.c
34 @@ -370,7 +370,7 @@ void ath_beacon_tasklet(unsigned long da
35 ath_print(common, ATH_DBG_BSTUCK,
36 "beacon is officially stuck\n");
37 sc->sc_flags |= SC_OP_TSF_RESET;
38 - ath_reset(sc, false);
39 + ath_reset(sc, true);
40 }
41
42 return;