]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
mwifiex: fix p2p device doesn't find in scan problem
authorKarthik D A <karthida@marvell.com>
Wed, 28 Sep 2016 12:48:28 +0000 (18:18 +0530)
committerKalle Valo <kvalo@codeaurora.org>
Wed, 9 Nov 2016 01:33:27 +0000 (03:33 +0200)
Marvell p2p device disappears from the list of p2p peers on the other
p2p device after disconnection.

It happens due to a bug in driver. When interface is changed from p2p
to station, certain variables(bss_type, bss_role etc.) aren't correctly
updated. This patch corrects them to fix the issue.

Signed-off-by: Karthik D A <karthida@marvell.com>
Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/marvell/mwifiex/cfg80211.c

index e83861f794adc6e75ca093bf281230955f441a98..d9f54451d0c304edf15e6f8ff1685d755cd0f981 100644 (file)
@@ -1203,6 +1203,12 @@ mwifiex_cfg80211_change_virtual_intf(struct wiphy *wiphy,
                        priv->adapter->curr_iface_comb.p2p_intf--;
                        priv->adapter->curr_iface_comb.sta_intf++;
                        dev->ieee80211_ptr->iftype = type;
+                       if (mwifiex_deinit_priv_params(priv))
+                               return -1;
+                       if (mwifiex_init_new_priv_params(priv, dev, type))
+                               return -1;
+                       if (mwifiex_sta_init_cmd(priv, false, false))
+                               return -1;
                        break;
                case NL80211_IFTYPE_ADHOC:
                        if (mwifiex_cfg80211_deinit_p2p(priv))