Hi!
From: Bryan O'Donoghue bryan.odonoghue@linaro.org
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)
break; case DISABLE_KEY: if (!(IEEE80211_KEY_FLAG_PAIRWISE & key_conf->flags)) {vif_priv->allow_bmps = true;
@@ -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;