| From 3d8bd85c2c9e47ed2c82348aa5b6029ed48376ae Mon Sep 17 00:00:00 2001 |
| From: Karthik D A <karthida@marvell.com> |
| Date: Wed, 28 Sep 2016 18:18:28 +0530 |
| Subject: mwifiex: fix p2p device doesn't find in scan problem |
| |
| From: Karthik D A <karthida@marvell.com> |
| |
| commit 3d8bd85c2c9e47ed2c82348aa5b6029ed48376ae upstream. |
| |
| 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> |
| [AmitP: Refactored to fix driver file path in linux-4.4.y] |
| Signed-off-by: Amit Pundir <amit.pundir@linaro.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/net/wireless/mwifiex/cfg80211.c | 6 ++++++ |
| 1 file changed, 6 insertions(+) |
| |
| --- a/drivers/net/wireless/mwifiex/cfg80211.c |
| +++ b/drivers/net/wireless/mwifiex/cfg80211.c |
| @@ -1150,6 +1150,12 @@ mwifiex_cfg80211_change_virtual_intf(str |
| 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)) |