diff options
Diffstat (limited to 'drivers/net/wireless/mwifiex')
-rw-r--r-- | drivers/net/wireless/mwifiex/join.c | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/drivers/net/wireless/mwifiex/join.c b/drivers/net/wireless/mwifiex/join.c index 8a390982463e..aeb0b3fc4599 100644 --- a/drivers/net/wireless/mwifiex/join.c +++ b/drivers/net/wireless/mwifiex/join.c | |||
@@ -1377,19 +1377,21 @@ static int mwifiex_deauthenticate_infra(struct mwifiex_private *priv, u8 *mac) | |||
1377 | */ | 1377 | */ |
1378 | int mwifiex_deauthenticate(struct mwifiex_private *priv, u8 *mac) | 1378 | int mwifiex_deauthenticate(struct mwifiex_private *priv, u8 *mac) |
1379 | { | 1379 | { |
1380 | int ret = 0; | 1380 | if (!priv->media_connected) |
1381 | return 0; | ||
1381 | 1382 | ||
1382 | if (priv->media_connected) { | 1383 | switch (priv->bss_mode) { |
1383 | if (priv->bss_mode == NL80211_IFTYPE_STATION) { | 1384 | case NL80211_IFTYPE_STATION: |
1384 | ret = mwifiex_deauthenticate_infra(priv, mac); | 1385 | return mwifiex_deauthenticate_infra(priv, mac); |
1385 | } else if (priv->bss_mode == NL80211_IFTYPE_ADHOC) { | 1386 | case NL80211_IFTYPE_ADHOC: |
1386 | ret = mwifiex_send_cmd_sync(priv, | 1387 | return mwifiex_send_cmd_sync(priv, |
1387 | HostCmd_CMD_802_11_AD_HOC_STOP, | 1388 | HostCmd_CMD_802_11_AD_HOC_STOP, |
1388 | HostCmd_ACT_GEN_SET, 0, NULL); | 1389 | HostCmd_ACT_GEN_SET, 0, NULL); |
1389 | } | 1390 | default: |
1391 | break; | ||
1390 | } | 1392 | } |
1391 | 1393 | ||
1392 | return ret; | 1394 | return 0; |
1393 | } | 1395 | } |
1394 | EXPORT_SYMBOL_GPL(mwifiex_deauthenticate); | 1396 | EXPORT_SYMBOL_GPL(mwifiex_deauthenticate); |
1395 | 1397 | ||