Skip to content

Commit

Permalink
wl12xx: keep beacon-filtering enabled during STA operation
Browse files Browse the repository at this point in the history
Enable beacon filtering on STA init, and don't disable it when entering
active mode. Otherwise dynamic-PS supports means we receive beacons from
the current AP during any Tx/Rx performed by the driver.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
  • Loading branch information
Arik Nemtsov authored and Luciano Coelho committed Nov 8, 2011
1 parent d6fa37c commit a693534
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 16 deletions.
5 changes: 0 additions & 5 deletions drivers/net/wireless/wl12xx/event.c
Original file line number Diff line number Diff line change
Expand Up @@ -137,11 +137,6 @@ static int wl1271_event_ps_report(struct wl1271 *wl,
case EVENT_ENTER_POWER_SAVE_SUCCESS:
wlvif->psm_entry_retry = 0;

/* enable beacon filtering */
ret = wl1271_acx_beacon_filter_opt(wl, wlvif, true);
if (ret < 0)
break;

/*
* BET has only a minor effect in 5GHz and masks
* channel switch IEs, so we only enable BET on 2.4GHz
Expand Down
12 changes: 6 additions & 6 deletions drivers/net/wireless/wl12xx/init.c
Original file line number Diff line number Diff line change
Expand Up @@ -254,17 +254,17 @@ static int wl12xx_init_phy_vif_config(struct wl1271 *wl,
return 0;
}

static int wl1271_init_beacon_filter(struct wl1271 *wl,
struct wl12xx_vif *wlvif)
static int wl1271_init_sta_beacon_filter(struct wl1271 *wl,
struct wl12xx_vif *wlvif)
{
int ret;

/* disable beacon filtering at this stage */
ret = wl1271_acx_beacon_filter_opt(wl, wlvif, false);
ret = wl1271_acx_beacon_filter_table(wl, wlvif);
if (ret < 0)
return ret;

ret = wl1271_acx_beacon_filter_table(wl, wlvif);
/* enable beacon filtering */
ret = wl1271_acx_beacon_filter_opt(wl, wlvif, true);
if (ret < 0)
return ret;

Expand Down Expand Up @@ -529,7 +529,7 @@ static int wl12xx_init_sta_role(struct wl1271 *wl, struct wl12xx_vif *wlvif)
return ret;

/* Beacon filtering */
ret = wl1271_init_beacon_filter(wl, wlvif);
ret = wl1271_init_sta_beacon_filter(wl, wlvif);
if (ret < 0)
return ret;

Expand Down
5 changes: 0 additions & 5 deletions drivers/net/wireless/wl12xx/ps.c
Original file line number Diff line number Diff line change
Expand Up @@ -185,11 +185,6 @@ int wl1271_ps_set_mode(struct wl1271 *wl, struct wl12xx_vif *wlvif,
return ret;
}

/* disable beacon filtering */
ret = wl1271_acx_beacon_filter_opt(wl, wlvif, false);
if (ret < 0)
return ret;

ret = wl1271_cmd_ps_mode(wl, wlvif, STATION_ACTIVE_MODE);
if (ret < 0)
return ret;
Expand Down

0 comments on commit a693534

Please sign in to comment.