If driver is loaded with 'mfg_mode' enabled, then the sending
commands are not allowed. So, skip sending commands, to firmware
in mwifiex_add_virtual_intf if 'mfg_mode' is enabled.

Fixes: 7311ea850079 ("mwifiex: fix AP start problem for newly added interface")
Signed-off-by: Ganapathi Bhat <[email protected]>
---
v2: addressed Brian's comments.
---
 drivers/net/wireless/marvell/mwifiex/cfg80211.c | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/drivers/net/wireless/marvell/mwifiex/cfg80211.c 
b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
index 32c5074..ad1ebd8 100644
--- a/drivers/net/wireless/marvell/mwifiex/cfg80211.c
+++ b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
@@ -2959,18 +2959,21 @@ struct wireless_dev *mwifiex_add_virtual_intf(struct 
wiphy *wiphy,
        }
 
        mwifiex_init_priv_params(priv, dev);
-       mwifiex_set_mac_address(priv, dev);
 
        priv->netdev = dev;
 
-       ret = mwifiex_send_cmd(priv, HostCmd_CMD_SET_BSS_MODE,
-                              HostCmd_ACT_GEN_SET, 0, NULL, true);
-       if (ret)
-               goto err_set_bss_mode;
+       if (!adapter->mfg_mode) {
+               mwifiex_set_mac_address(priv, dev);
 
-       ret = mwifiex_sta_init_cmd(priv, false, false);
-       if (ret)
-               goto err_sta_init;
+               ret = mwifiex_send_cmd(priv, HostCmd_CMD_SET_BSS_MODE,
+                                      HostCmd_ACT_GEN_SET, 0, NULL, true);
+               if (ret)
+                       goto err_set_bss_mode;
+
+               ret = mwifiex_sta_init_cmd(priv, false, false);
+               if (ret)
+                       goto err_sta_init;
+       }
 
        mwifiex_setup_ht_caps(&wiphy->bands[NL80211_BAND_2GHZ]->ht_cap, priv);
        if (adapter->is_hw_11ac_capable)
-- 
1.9.1

Reply via email to