Hi! > From: Bryan O'Donoghue > > commit 285bb1738e196507bf985574d0bc1e9dd72d46b1 upstream. > > This reverts commit c6522a5076e1a65877c51cfee313a74ef61cabf8. > > Testing on tip-of-tree shows that this is working now. Revert this and > re-enable BMPS for Open APs. This explains why revert is a good idea for mainline, but it may still cause problems for 5.10. Is someone able to test it in 5.10? Best regards, Pavel > +++ b/drivers/net/wireless/ath/wcn36xx/main.c > @@ -601,15 +601,6 @@ static int wcn36xx_set_key(struct ieee80 > } > } > } > - /* FIXME: Only enable bmps support when encryption is enabled. > - * For any reasons, when connected to open/no-security BSS, > - * the wcn36xx controller in bmps mode does not forward > - * 'wake-up' beacons despite AP sends DTIM with station AID. > - * It could be due to a firmware issue or to the way driver > - * configure the station. > - */ > - if (vif->type == NL80211_IFTYPE_STATION) > - vif_priv->allow_bmps = true; > break; > case DISABLE_KEY: > if (!(IEEE80211_KEY_FLAG_PAIRWISE & key_conf->flags)) { > @@ -909,7 +900,6 @@ static void wcn36xx_bss_info_changed(str > vif->addr, > bss_conf->aid); > vif_priv->sta_assoc = false; > - vif_priv->allow_bmps = false; > wcn36xx_smd_set_link_st(wcn, > bss_conf->bssid, > vif->addr, > --- a/drivers/net/wireless/ath/wcn36xx/pmc.c > +++ b/drivers/net/wireless/ath/wcn36xx/pmc.c > @@ -23,10 +23,7 @@ int wcn36xx_pmc_enter_bmps_state(struct > { > int ret = 0; > struct wcn36xx_vif *vif_priv = wcn36xx_vif_to_priv(vif); > - > - if (!vif_priv->allow_bmps) > - return -ENOTSUPP; > - > + /* TODO: Make sure the TX chain clean */ > ret = wcn36xx_smd_enter_bmps(wcn, vif); > if (!ret) { > wcn36xx_dbg(WCN36XX_DBG_PMC, "Entered BMPS\n"); > --- a/drivers/net/wireless/ath/wcn36xx/wcn36xx.h > +++ b/drivers/net/wireless/ath/wcn36xx/wcn36xx.h > @@ -127,7 +127,6 @@ struct wcn36xx_vif { > enum wcn36xx_hal_bss_type bss_type; > > /* Power management */ > - bool allow_bmps; > enum wcn36xx_power_state pw_state; > > u8 bss_index; > -- http://www.livejournal.com/~pavelmachek