fix channel change bugs
SVN-Revision: 10553
This commit is contained in:
parent
b3767e965e
commit
0c8a2085f9
1 changed files with 10 additions and 11 deletions
|
@ -1,8 +1,8 @@
|
||||||
Index: madwifi-trunk-r3314/ath/if_ath.c
|
Index: madwifi-trunk-r3314/ath/if_ath.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- madwifi-trunk-r3314.orig/ath/if_ath.c 2008-02-20 22:22:50.203268987 +0100
|
--- madwifi-trunk-r3314.orig/ath/if_ath.c 2008-02-26 20:23:58.477203701 +0100
|
||||||
+++ madwifi-trunk-r3314/ath/if_ath.c 2008-02-20 22:23:25.745294410 +0100
|
+++ madwifi-trunk-r3314/ath/if_ath.c 2008-02-26 20:23:59.241247240 +0100
|
||||||
@@ -1592,6 +1592,16 @@
|
@@ -1594,6 +1594,16 @@
|
||||||
ath_init(dev);
|
ath_init(dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -19,16 +19,16 @@ Index: madwifi-trunk-r3314/ath/if_ath.c
|
||||||
/* Channel Availability Check is running, or a channel has already found to be
|
/* Channel Availability Check is running, or a channel has already found to be
|
||||||
* unavailable. */
|
* unavailable. */
|
||||||
static int
|
static int
|
||||||
@@ -2474,7 +2484,7 @@
|
@@ -2476,7 +2486,7 @@
|
||||||
*/
|
*/
|
||||||
sc->sc_curchan.channel = ic->ic_curchan->ic_freq;
|
sc->sc_curchan.channel = ic->ic_curchan->ic_freq;
|
||||||
sc->sc_curchan.channelFlags = ath_chan2flags(ic->ic_curchan);
|
sc->sc_curchan.channelFlags = ath_chan2flags(ic->ic_curchan);
|
||||||
- if (!ath_hal_reset(ah, sc->sc_opmode, &sc->sc_curchan, AH_FALSE, &status)) {
|
- if (!ath_hal_reset(ah, sc->sc_opmode, &sc->sc_curchan, AH_FALSE, &status)) {
|
||||||
+ if (!ath_hw_reset(ah, sc->sc_opmode, &sc->sc_curchan, AH_FALSE, &status)) {
|
+ if (!ath_hw_reset(ah, sc->sc_opmode, &sc->sc_curchan, AH_TRUE, &status)) {
|
||||||
EPRINTF(sc, "unable to reset hardware: '%s' (HAL status %u) "
|
EPRINTF(sc, "unable to reset hardware: '%s' (HAL status %u) "
|
||||||
"(freq %u flags 0x%x)\n",
|
"(freq %u flags 0x%x)\n",
|
||||||
ath_get_hal_status_desc(status), status,
|
ath_get_hal_status_desc(status), status,
|
||||||
@@ -2773,7 +2783,7 @@
|
@@ -2775,7 +2785,7 @@
|
||||||
ath_draintxq(sc); /* stop xmit side */
|
ath_draintxq(sc); /* stop xmit side */
|
||||||
ath_stoprecv(sc); /* stop recv side */
|
ath_stoprecv(sc); /* stop recv side */
|
||||||
/* NB: indicate channel change so we do a full reset */
|
/* NB: indicate channel change so we do a full reset */
|
||||||
|
@ -37,18 +37,17 @@ Index: madwifi-trunk-r3314/ath/if_ath.c
|
||||||
EPRINTF(sc, "Unable to reset hardware: '%s' (HAL status %u)\n",
|
EPRINTF(sc, "Unable to reset hardware: '%s' (HAL status %u)\n",
|
||||||
ath_get_hal_status_desc(status), status);
|
ath_get_hal_status_desc(status), status);
|
||||||
|
|
||||||
@@ -8848,8 +8858,8 @@
|
@@ -8848,8 +8858,7 @@
|
||||||
* needed to do the reset with chanchange = AH_FALSE in order
|
* needed to do the reset with chanchange = AH_FALSE in order
|
||||||
* to receive traffic when peforming high velocity channel
|
* to receive traffic when peforming high velocity channel
|
||||||
* changes. */
|
* changes. */
|
||||||
- if (!ath_hal_reset(ah, sc->sc_opmode, &hchan, AH_TRUE, &status) ||
|
- if (!ath_hal_reset(ah, sc->sc_opmode, &hchan, AH_TRUE, &status) ||
|
||||||
- !ath_hal_reset(ah, sc->sc_opmode, &hchan, AH_FALSE, &status)) {
|
- !ath_hal_reset(ah, sc->sc_opmode, &hchan, AH_FALSE, &status)) {
|
||||||
+ if (!ath_hw_reset(ah, sc->sc_opmode, &hchan, AH_TRUE, &status) ||
|
+ if (!ath_hw_reset(ah, sc->sc_opmode, &hchan, AH_TRUE, &status)) {
|
||||||
+ !ath_hw_reset(ah, sc->sc_opmode, &hchan, AH_FALSE, &status)) {
|
|
||||||
EPRINTF(sc, "Unable to reset channel %u (%u MHz) "
|
EPRINTF(sc, "Unable to reset channel %u (%u MHz) "
|
||||||
"flags 0x%x '%s' (HAL status %u)\n",
|
"flags 0x%x '%s' (HAL status %u)\n",
|
||||||
ieee80211_chan2ieee(ic, chan), chan->ic_freq,
|
ieee80211_chan2ieee(ic, chan), chan->ic_freq,
|
||||||
@@ -8905,7 +8915,7 @@
|
@@ -8905,7 +8914,7 @@
|
||||||
* re configure beacons when it is a turbo mode switch.
|
* re configure beacons when it is a turbo mode switch.
|
||||||
* HW seems to turn off beacons during turbo mode switch.
|
* HW seems to turn off beacons during turbo mode switch.
|
||||||
*/
|
*/
|
||||||
|
@ -57,7 +56,7 @@ Index: madwifi-trunk-r3314/ath/if_ath.c
|
||||||
ath_beacon_config(sc, NULL);
|
ath_beacon_config(sc, NULL);
|
||||||
/*
|
/*
|
||||||
* Re-enable interrupts.
|
* Re-enable interrupts.
|
||||||
@@ -11455,7 +11465,7 @@
|
@@ -11456,7 +11465,7 @@
|
||||||
ieee80211_cancel_scan(vap); /* anything current */
|
ieee80211_cancel_scan(vap); /* anything current */
|
||||||
ieee80211_wme_updateparams(vap);
|
ieee80211_wme_updateparams(vap);
|
||||||
/* reset the WNIC */
|
/* reset the WNIC */
|
||||||
|
|
Loading…
Reference in a new issue