|
|
@@ -280,7 +280,11 @@ void wl12xx_ps_link_start(struct wl1271 *wl, struct wl12xx_vif *wlvif,
|
|
|
struct ieee80211_sta *sta;
|
|
|
struct ieee80211_vif *vif = wl12xx_wlvif_to_vif(wlvif);
|
|
|
|
|
|
- if (test_bit(hlid, &wl->ap_ps_map))
|
|
|
+ if (WARN_ON_ONCE(wlvif->bss_type != BSS_TYPE_AP_BSS))
|
|
|
+ return;
|
|
|
+
|
|
|
+ if (!test_bit(hlid, wlvif->ap.sta_hlid_map) ||
|
|
|
+ test_bit(hlid, &wl->ap_ps_map))
|
|
|
return;
|
|
|
|
|
|
wl1271_debug(DEBUG_PSM, "start mac80211 PSM on hlid %d pkts %d "
|