mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-31 14:04:26 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			31 lines
		
	
	
		
			751 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			751 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
| --- 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;
 | |
|  }
 |