45 lines
1.4 KiB
Diff
45 lines
1.4 KiB
Diff
|
From 5d1ed64614ccb21c26bc0ee321e9c51b6359ceb8 Mon Sep 17 00:00:00 2001
|
||
|
From: Jonas Gorski <jogo@openwrt.org>
|
||
|
Date: Mon, 25 Mar 2013 15:37:42 +0100
|
||
|
Subject: [PATCH] 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>
|
||
|
---
|
||
|
drivers/net/wireless/mwl8k.c | 10 ++++------
|
||
|
1 file changed, 4 insertions(+), 6 deletions(-)
|
||
|
|
||
|
--- a/drivers/net/wireless/mwl8k.c
|
||
|
+++ b/drivers/net/wireless/mwl8k.c
|
||
|
@@ -4818,16 +4818,14 @@ static int mwl8k_config(struct ieee80211
|
||
|
struct mwl8k_priv *priv = hw->priv;
|
||
|
int rc;
|
||
|
|
||
|
- if (conf->flags & IEEE80211_CONF_IDLE) {
|
||
|
- mwl8k_cmd_radio_disable(hw);
|
||
|
- return 0;
|
||
|
- }
|
||
|
-
|
||
|
rc = mwl8k_fw_lock(hw);
|
||
|
if (rc)
|
||
|
return rc;
|
||
|
|
||
|
- rc = mwl8k_cmd_radio_enable(hw);
|
||
|
+ if (conf->flags & IEEE80211_CONF_IDLE)
|
||
|
+ rc = mwl8k_cmd_radio_disable(hw);
|
||
|
+ else
|
||
|
+ rc = mwl8k_cmd_radio_enable(hw);
|
||
|
if (rc)
|
||
|
goto out;
|
||
|
|