madwifi: if a txpower value below the poweroffset is requested, set the internal...
authorFelix Fietkau <nbd@openwrt.org>
Sun, 31 May 2009 14:45:04 +0000 (14:45 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Sun, 31 May 2009 14:45:04 +0000 (14:45 +0000)
SVN-Revision: 16234

package/madwifi/patches/438-poweroffset_sysctl.patch

index 2a6d27c..662f2b0 100644 (file)
@@ -1,5 +1,21 @@
 --- a/ath/if_ath.c
 +++ b/ath/if_ath.c
+@@ -10474,11 +10474,11 @@ set_node_txpower(void *arg, struct ieee8
+  * XXX: this function needs some locking to avoid being called 
+  * twice/interrupted. Returns the value actually stored. */
+ static u_int32_t
+-ath_set_clamped_maxtxpower(struct ath_softc *sc, 
+-              u_int32_t new_clamped_maxtxpower)
++ath_set_clamped_maxtxpower(struct ath_softc *sc, u_int32_t new_txpwr)
+ {
+-      new_clamped_maxtxpower -= sc->sc_poweroffset;
+-      (void)ath_hal_settxpowlimit(sc->sc_ah, new_clamped_maxtxpower);
++      new_txpwr = ((new_txpwr < sc->sc_poweroffset) ? 0 :
++              new_txpwr - sc->sc_poweroffset);
++      (void)ath_hal_settxpowlimit(sc->sc_ah, new_txpwr);
+       return ath_get_clamped_maxtxpower(sc);
+ }
 @@ -11029,6 +11029,7 @@ enum {
        ATH_DEBUG,
        ATH_TXANTENNA,