diff options
Diffstat (limited to 'drivers/net/wireless/mwifiex/join.c')
-rw-r--r-- | drivers/net/wireless/mwifiex/join.c | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/drivers/net/wireless/mwifiex/join.c b/drivers/net/wireless/mwifiex/join.c index d6b4fb04011..82e63cee1e9 100644 --- a/drivers/net/wireless/mwifiex/join.c +++ b/drivers/net/wireless/mwifiex/join.c | |||
@@ -1349,22 +1349,16 @@ static int mwifiex_deauthenticate_infra(struct mwifiex_private *priv, u8 *mac) | |||
1349 | { | 1349 | { |
1350 | u8 mac_address[ETH_ALEN]; | 1350 | u8 mac_address[ETH_ALEN]; |
1351 | int ret; | 1351 | int ret; |
1352 | u8 zero_mac[ETH_ALEN] = { 0, 0, 0, 0, 0, 0 }; | ||
1353 | 1352 | ||
1354 | if (mac) { | 1353 | if (!mac || is_zero_ether_addr(mac)) |
1355 | if (!memcmp(mac, zero_mac, sizeof(zero_mac))) | 1354 | memcpy(mac_address, |
1356 | memcpy((u8 *) &mac_address, | 1355 | priv->curr_bss_params.bss_descriptor.mac_address, |
1357 | (u8 *) &priv->curr_bss_params.bss_descriptor. | 1356 | ETH_ALEN); |
1358 | mac_address, ETH_ALEN); | 1357 | else |
1359 | else | 1358 | memcpy(mac_address, mac, ETH_ALEN); |
1360 | memcpy((u8 *) &mac_address, (u8 *) mac, ETH_ALEN); | ||
1361 | } else { | ||
1362 | memcpy((u8 *) &mac_address, (u8 *) &priv->curr_bss_params. | ||
1363 | bss_descriptor.mac_address, ETH_ALEN); | ||
1364 | } | ||
1365 | 1359 | ||
1366 | ret = mwifiex_send_cmd_sync(priv, HostCmd_CMD_802_11_DEAUTHENTICATE, | 1360 | ret = mwifiex_send_cmd_sync(priv, HostCmd_CMD_802_11_DEAUTHENTICATE, |
1367 | HostCmd_ACT_GEN_SET, 0, &mac_address); | 1361 | HostCmd_ACT_GEN_SET, 0, mac_address); |
1368 | 1362 | ||
1369 | return ret; | 1363 | return ret; |
1370 | } | 1364 | } |