blob: fbd1d7673c0b80652a2aba5e2b64eced2ace1fdb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
--- a/net80211/ieee80211_wireless.c
+++ b/net80211/ieee80211_wireless.c
@@ -1370,15 +1370,9 @@ ieee80211_ioctl_siwtxpow(struct net_devi
int fixed, disabled;
fixed = (ic->ic_flags & IEEE80211_F_TXPOW_FIXED);
- disabled = (fixed && ic->ic_txpowlimit == 0);
- if (rrq->disabled) {
- if (!disabled) {
- ic->ic_flags |= IEEE80211_F_TXPOW_FIXED;
- ic->ic_txpowlimit = 0;
- goto done;
- }
- return 0;
- }
+
+ if (rrq->disabled)
+ return -EINVAL;
if (rrq->fixed) {
if ((ic->ic_caps & IEEE80211_C_TXPMGT) == 0)
@@ -1571,7 +1565,7 @@ ieee80211_ioctl_giwtxpow(struct net_devi
rrq->fixed = 0;
}
rrq->value = txp / 2;
- rrq->disabled = (rrq->fixed && rrq->value == 0);
+ rrq->disabled = 0;
rrq->flags = IW_TXPOW_DBM;
return 0;
}
|