Skip to content

Commit

Permalink
wl12xx: don't join upon disassociation
Browse files Browse the repository at this point in the history
wl12xx "rejoins" upon every BSS_CHANGED_BSSID notification.
However, there is no need to rejoin after disassociation, so just
filter out the case when the new bssid is 00:00:00:00:00:00.

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
  • Loading branch information
Eliad Peller authored and Luciano Coelho committed Jan 24, 2011
1 parent 2354b9f commit fa287b8
Showing 1 changed file with 12 additions and 10 deletions.
22 changes: 12 additions & 10 deletions drivers/net/wireless/wl12xx/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -2266,19 +2266,21 @@ static void wl1271_bss_info_changed_sta(struct wl1271 *wl,
memcmp(wl->bssid, bss_conf->bssid, ETH_ALEN)) {
memcpy(wl->bssid, bss_conf->bssid, ETH_ALEN);

ret = wl1271_cmd_build_null_data(wl);
if (ret < 0)
goto out;
if (!is_zero_ether_addr(wl->bssid)) {
ret = wl1271_cmd_build_null_data(wl);
if (ret < 0)
goto out;

ret = wl1271_build_qos_null_data(wl);
if (ret < 0)
goto out;
ret = wl1271_build_qos_null_data(wl);
if (ret < 0)
goto out;

/* filter out all packets not from this BSSID */
wl1271_configure_filters(wl, 0);
/* filter out all packets not from this BSSID */
wl1271_configure_filters(wl, 0);

/* Need to update the BSSID (for filtering etc) */
do_join = true;
/* Need to update the BSSID (for filtering etc) */
do_join = true;
}
}

if ((changed & BSS_CHANGED_ASSOC)) {
Expand Down

0 comments on commit fa287b8

Please sign in to comment.