mirror of https://gitee.com/openkylin/linux.git
mwifiex: inform disconnection initiator correctly.
This patch ensures that 'locally_generated' parameter is correctly passed to cfg80211_disconnected() API. Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
This commit is contained in:
parent
5c87a55adb
commit
c62d50a406
|
@ -1281,7 +1281,7 @@ int mwifiex_ret_802_11_ad_hoc(struct mwifiex_private *priv,
|
|||
if (result) {
|
||||
mwifiex_dbg(priv->adapter, ERROR, "ADHOC_RESP: failed\n");
|
||||
if (priv->media_connected)
|
||||
mwifiex_reset_connect_state(priv, result);
|
||||
mwifiex_reset_connect_state(priv, result, true);
|
||||
|
||||
memset(&priv->curr_bss_params.bss_descriptor,
|
||||
0x00, sizeof(struct mwifiex_bssdescriptor));
|
||||
|
|
|
@ -1128,7 +1128,8 @@ int mwifiex_cmd_802_11_associate(struct mwifiex_private *priv,
|
|||
struct mwifiex_bssdescriptor *bss_desc);
|
||||
int mwifiex_ret_802_11_associate(struct mwifiex_private *priv,
|
||||
struct host_cmd_ds_command *resp);
|
||||
void mwifiex_reset_connect_state(struct mwifiex_private *priv, u16 reason);
|
||||
void mwifiex_reset_connect_state(struct mwifiex_private *priv, u16 reason,
|
||||
bool from_ap);
|
||||
u8 mwifiex_band_to_radio_type(u8 band);
|
||||
int mwifiex_deauthenticate(struct mwifiex_private *priv, u8 *mac);
|
||||
void mwifiex_deauthenticate_all(struct mwifiex_adapter *adapter);
|
||||
|
|
|
@ -553,7 +553,8 @@ static int mwifiex_ret_802_11_deauthenticate(struct mwifiex_private *priv,
|
|||
if (!memcmp(resp->params.deauth.mac_addr,
|
||||
&priv->curr_bss_params.bss_descriptor.mac_address,
|
||||
sizeof(resp->params.deauth.mac_addr)))
|
||||
mwifiex_reset_connect_state(priv, WLAN_REASON_DEAUTH_LEAVING);
|
||||
mwifiex_reset_connect_state(priv, WLAN_REASON_DEAUTH_LEAVING,
|
||||
false);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -566,7 +567,7 @@ static int mwifiex_ret_802_11_deauthenticate(struct mwifiex_private *priv,
|
|||
static int mwifiex_ret_802_11_ad_hoc_stop(struct mwifiex_private *priv,
|
||||
struct host_cmd_ds_command *resp)
|
||||
{
|
||||
mwifiex_reset_connect_state(priv, WLAN_REASON_DEAUTH_LEAVING);
|
||||
mwifiex_reset_connect_state(priv, WLAN_REASON_DEAUTH_LEAVING, false);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -40,8 +40,8 @@
|
|||
* - Erases current SSID and BSSID information
|
||||
* - Sends a disconnect event to upper layers/applications.
|
||||
*/
|
||||
void
|
||||
mwifiex_reset_connect_state(struct mwifiex_private *priv, u16 reason_code)
|
||||
void mwifiex_reset_connect_state(struct mwifiex_private *priv, u16 reason_code,
|
||||
bool from_ap)
|
||||
{
|
||||
struct mwifiex_adapter *adapter = priv->adapter;
|
||||
|
||||
|
@ -140,7 +140,7 @@ mwifiex_reset_connect_state(struct mwifiex_private *priv, u16 reason_code)
|
|||
if (priv->bss_mode == NL80211_IFTYPE_STATION ||
|
||||
priv->bss_mode == NL80211_IFTYPE_P2P_CLIENT) {
|
||||
cfg80211_disconnected(priv->netdev, reason_code, NULL, 0,
|
||||
false, GFP_KERNEL);
|
||||
!from_ap, GFP_KERNEL);
|
||||
}
|
||||
eth_zero_addr(priv->cfg_bssid);
|
||||
|
||||
|
@ -574,7 +574,7 @@ int mwifiex_process_sta_event(struct mwifiex_private *priv)
|
|||
if (priv->media_connected) {
|
||||
reason_code =
|
||||
le16_to_cpu(*(__le16 *)adapter->event_body);
|
||||
mwifiex_reset_connect_state(priv, reason_code);
|
||||
mwifiex_reset_connect_state(priv, reason_code, true);
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -589,7 +589,7 @@ int mwifiex_process_sta_event(struct mwifiex_private *priv)
|
|||
if (priv->media_connected) {
|
||||
reason_code =
|
||||
le16_to_cpu(*(__le16 *)adapter->event_body);
|
||||
mwifiex_reset_connect_state(priv, reason_code);
|
||||
mwifiex_reset_connect_state(priv, reason_code, true);
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -599,7 +599,7 @@ int mwifiex_process_sta_event(struct mwifiex_private *priv)
|
|||
if (priv->media_connected) {
|
||||
reason_code =
|
||||
le16_to_cpu(*(__le16 *)adapter->event_body);
|
||||
mwifiex_reset_connect_state(priv, reason_code);
|
||||
mwifiex_reset_connect_state(priv, reason_code, true);
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
Loading…
Reference in New Issue