diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2005-11-19 01:07:50 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2005-11-19 01:07:50 +0000 |
commit | 9a0bc232a345ace4089dede61357c5bae9039cf8 (patch) | |
tree | 58495d69126182b137efe8ebfd749c6fd8216430 /target | |
parent | 83254e712eb1dedc99e4386078e8fd9063e15616 (diff) |
make wlcompat display 19 dBm max. when regulatory override is disabled
git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@2530 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target')
-rw-r--r-- | target/linux/package/wlcompat/wlcompat.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/target/linux/package/wlcompat/wlcompat.c b/target/linux/package/wlcompat/wlcompat.c index d86a9bda99..7063c809a6 100644 --- a/target/linux/package/wlcompat/wlcompat.c +++ b/target/linux/package/wlcompat/wlcompat.c @@ -494,14 +494,17 @@ static int wlcompat_ioctl(struct net_device *dev, } case SIOCGIWTXPOW: { - int radio; + int radio, override; wl_ioctl(dev, WLC_GET_RADIO, &radio, sizeof(int)); if (wl_get_val(dev, "qtxpower", &(wrqu->txpower.value), sizeof(int)) < 0) return -EINVAL; + override = (wrqu->txpower.value & WL_TXPWR_OVERRIDE) == WL_TXPWR_OVERRIDE; wrqu->txpower.value &= ~WL_TXPWR_OVERRIDE; + if (!override && (wrqu->txpower.value > 76)) + wrqu->txpower.value = 76; wrqu->txpower.value /= 4; wrqu->txpower.fixed = 0; |