X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/d28a1e629bbd954784b86809e6037eadde5d5c24..57660adae3b1b69482898ab20abf4f96a1541b9a:/package/madwifi/patches/332-reset_beacons.patch?ds=inline diff --git a/package/madwifi/patches/332-reset_beacons.patch b/package/madwifi/patches/332-reset_beacons.patch index caf3cc14f..b776426f2 100644 --- a/package/madwifi/patches/332-reset_beacons.patch +++ b/package/madwifi/patches/332-reset_beacons.patch @@ -1,53 +1,6 @@ -Index: madwifi-trunk-r3314/ath/if_ath.c -=================================================================== ---- 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-26 20:23:59.241247240 +0100 -@@ -1594,6 +1594,16 @@ - ath_init(dev); - } - -+static HAL_BOOL ath_hw_reset(struct ath_hal *ah, HAL_OPMODE opmode, -+ HAL_CHANNEL *channel, HAL_BOOL bChannelChange, -+ HAL_STATUS *status) -+{ -+ HAL_BOOL ret; -+ ret = ath_hal_reset(ah, opmode, channel, bChannelChange, status); -+ mdelay(5); /* extra delay to allow the hw to settle in */ -+ return ret; -+} -+ - /* Channel Availability Check is running, or a channel has already found to be - * unavailable. */ - static int -@@ -2476,7 +2486,7 @@ - */ - sc->sc_curchan.channel = ic->ic_curchan->ic_freq; - 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_hw_reset(ah, sc->sc_opmode, &sc->sc_curchan, AH_TRUE, &status)) { - EPRINTF(sc, "unable to reset hardware: '%s' (HAL status %u) " - "(freq %u flags 0x%x)\n", - ath_get_hal_status_desc(status), status, -@@ -2775,7 +2785,7 @@ - ath_draintxq(sc); /* stop xmit side */ - ath_stoprecv(sc); /* stop recv side */ - /* NB: indicate channel change so we do a full reset */ -- if (!ath_hal_reset(ah, sc->sc_opmode, &sc->sc_curchan, AH_TRUE, &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)\n", - ath_get_hal_status_desc(status), status); - -@@ -8848,8 +8858,7 @@ - * needed to do the reset with chanchange = AH_FALSE in order - * to receive traffic when peforming high velocity channel - * changes. */ -- if (!ath_hal_reset(ah, sc->sc_opmode, &hchan, AH_TRUE, &status) || -- !ath_hal_reset(ah, sc->sc_opmode, &hchan, AH_FALSE, &status)) { -+ if (!ath_hw_reset(ah, sc->sc_opmode, &hchan, AH_TRUE, &status)) { - EPRINTF(sc, "Unable to reset channel %u (%u MHz) " - "flags 0x%x '%s' (HAL status %u)\n", - ieee80211_chan2ieee(ic, chan), chan->ic_freq, -@@ -8905,7 +8914,7 @@ +--- a/ath/if_ath.c ++++ b/ath/if_ath.c +@@ -8922,7 +8922,7 @@ ath_chan_set(struct ath_softc *sc, struc * re configure beacons when it is a turbo mode switch. * HW seems to turn off beacons during turbo mode switch. */ @@ -56,12 +9,3 @@ Index: madwifi-trunk-r3314/ath/if_ath.c ath_beacon_config(sc, NULL); /* * Re-enable interrupts. -@@ -11456,7 +11465,7 @@ - ieee80211_cancel_scan(vap); /* anything current */ - ieee80211_wme_updateparams(vap); - /* reset the WNIC */ -- if (!ath_hal_reset(ah, sc->sc_opmode, -+ if (!ath_hw_reset(ah, sc->sc_opmode, - &sc->sc_curchan, AH_TRUE, &status)) { - EPRINTF(sc, "ath_hal_reset failed: '%s' " - "(HAL status %u).\n",