mwl8k: always apply configuration even when device is idle

Fix settings not being applied when the device is idle and the firmware
gets reloaded (because of changing from STA to AP mode). This caused
the device using the wrong channel (and likely band), e.g. a 5 GHz only
card still defaulted to channel 6 in the 2.4 GHz band when left
unconfigured.

This issue was always present, but only made visible with "mwl8k: Do not
call mwl8k_cmd_set_rf_channel unconditionally" (0f4316b9), since before
that the channel was (re-)configured at the next _config call even when
it did not change from the mac80211 perspective.

Signed-off-by: Jonas Gorski <jogo@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Jonas Gorski 2013-03-25 16:39:54 +01:00 committed by John W. Linville
parent c55b376605
commit fe21bb02ca
1 changed files with 4 additions and 6 deletions

View File

@ -4807,15 +4807,13 @@ static int mwl8k_config(struct ieee80211_hw *hw, u32 changed)
struct mwl8k_priv *priv = hw->priv; struct mwl8k_priv *priv = hw->priv;
int rc; int rc;
if (conf->flags & IEEE80211_CONF_IDLE) {
mwl8k_cmd_radio_disable(hw);
return 0;
}
rc = mwl8k_fw_lock(hw); rc = mwl8k_fw_lock(hw);
if (rc) if (rc)
return rc; return rc;
if (conf->flags & IEEE80211_CONF_IDLE)
rc = mwl8k_cmd_radio_disable(hw);
else
rc = mwl8k_cmd_radio_enable(hw); rc = mwl8k_cmd_radio_enable(hw);
if (rc) if (rc)
goto out; goto out;