Re: [PATCH 5.10 14/16] Revert "wcn36xx: Disable bmps when encryption is disabled"

From: Pavel Machek
Date: Fri Nov 05 2021 - 09:19:03 EST


Hi!

> From: Bryan O'Donoghue <bryan.odonoghue@xxxxxxxxxx>
>
> 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

Attachment: signature.asc
Description: Digital signature