diff options
Diffstat (limited to 'net/mac80211/main.c')
| -rw-r--r-- | net/mac80211/main.c | 13 | 
1 files changed, 12 insertions, 1 deletions
| diff --git a/net/mac80211/main.c b/net/mac80211/main.c index 4f3f8bb58e76..1b9c82616606 100644 --- a/net/mac80211/main.c +++ b/net/mac80211/main.c @@ -973,8 +973,19 @@ int ieee80211_register_hw(struct ieee80211_hw *hw)  			continue;  		if (!dflt_chandef.chan) { +			/* +			 * Assign the first enabled channel to dflt_chandef +			 * from the list of channels +			 */ +			for (i = 0; i < sband->n_channels; i++) +				if (!(sband->channels[i].flags & +						IEEE80211_CHAN_DISABLED)) +					break; +			/* if none found then use the first anyway */ +			if (i == sband->n_channels) +				i = 0;  			cfg80211_chandef_create(&dflt_chandef, -						&sband->channels[0], +						&sband->channels[i],  						NL80211_CHAN_NO_HT);  			/* init channel we're on */  			if (!local->use_chanctx && !local->_oper_chandef.chan) { |