mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-24 18:44:27 -04:00 
			
		
		
		
	When the original mac addresses are not valid assign the first one to the internal wifi core, this matches the manufacture mac address in most cases. In addition refresh the patches. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> SVN-Revision: 41545
		
			
				
	
	
		
			42 lines
		
	
	
		
			822 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			822 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
| --- a/driver/wl_iw.c
 | |
| +++ b/driver/wl_iw.c
 | |
| @@ -314,7 +314,7 @@ wl_iw_get_name(
 | |
|  )
 | |
|  {
 | |
|  	int phytype, err;
 | |
| -	uint band[3];
 | |
| +	uint i, band[3], bands;
 | |
|  	char cap[5];
 | |
|  
 | |
|  	WL_TRACE(("%s: SIOCGIWNAME\n", dev->name));
 | |
| @@ -335,16 +335,20 @@ wl_iw_get_name(
 | |
|  			break;
 | |
|  		case WLC_PHY_TYPE_LP:
 | |
|  		case WLC_PHY_TYPE_G:
 | |
| -			if (band[0] >= 2)
 | |
| -				strcpy(cap, "abg");
 | |
| -			else
 | |
| -				strcpy(cap, "bg");
 | |
| -			break;
 | |
|  		case WLC_PHY_TYPE_N:
 | |
| -			if (band[0] >= 2)
 | |
| -				strcpy(cap, "abgn");
 | |
| -			else
 | |
| -				strcpy(cap, "bgn");
 | |
| +			bands = 0;
 | |
| +			for (i = 1; i <= band[0]; i++) {
 | |
| +				bands |= dtoh32(band[i]);
 | |
| +			}
 | |
| +			strcpy(cap, "");
 | |
| +			if (bands & WLC_BAND_5G)
 | |
| +				strcat(cap, "a");
 | |
| +			if (bands & WLC_BAND_2G)
 | |
| +				strcat(cap, "bg");
 | |
| +			if (phytype == WLC_PHY_TYPE_N)
 | |
| +				strcat(cap, "n");
 | |
| +			break;
 | |
| +		default:
 | |
|  			break;
 | |
|  	}
 | |
|  done:
 |