Commit 285bb173 authored by Bryan O'Donoghue's avatar Bryan O'Donoghue Committed by Kalle Valo

Revert "wcn36xx: Disable bmps when encryption is disabled"

This reverts commit c6522a50.

Testing on tip-of-tree shows that this is working now. Revert this and
re-enable BMPS for Open APs.
Signed-off-by: default avatarBryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20211022140447.2846248-3-bryan.odonoghue@linaro.org
parent 2f1ae32f
...@@ -613,15 +613,6 @@ static int wcn36xx_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd, ...@@ -613,15 +613,6 @@ static int wcn36xx_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
} }
} }
} }
/* 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; break;
case DISABLE_KEY: case DISABLE_KEY:
if (!(IEEE80211_KEY_FLAG_PAIRWISE & key_conf->flags)) { if (!(IEEE80211_KEY_FLAG_PAIRWISE & key_conf->flags)) {
...@@ -922,7 +913,6 @@ static void wcn36xx_bss_info_changed(struct ieee80211_hw *hw, ...@@ -922,7 +913,6 @@ static void wcn36xx_bss_info_changed(struct ieee80211_hw *hw,
vif->addr, vif->addr,
bss_conf->aid); bss_conf->aid);
vif_priv->sta_assoc = false; vif_priv->sta_assoc = false;
vif_priv->allow_bmps = false;
wcn36xx_smd_set_link_st(wcn, wcn36xx_smd_set_link_st(wcn,
bss_conf->bssid, bss_conf->bssid,
vif->addr, vif->addr,
......
...@@ -25,10 +25,7 @@ int wcn36xx_pmc_enter_bmps_state(struct wcn36xx *wcn, ...@@ -25,10 +25,7 @@ int wcn36xx_pmc_enter_bmps_state(struct wcn36xx *wcn,
{ {
int ret = 0; int ret = 0;
struct wcn36xx_vif *vif_priv = wcn36xx_vif_to_priv(vif); struct wcn36xx_vif *vif_priv = wcn36xx_vif_to_priv(vif);
/* TODO: Make sure the TX chain clean */
if (!vif_priv->allow_bmps)
return -ENOTSUPP;
ret = wcn36xx_smd_enter_bmps(wcn, vif); ret = wcn36xx_smd_enter_bmps(wcn, vif);
if (!ret) { if (!ret) {
wcn36xx_dbg(WCN36XX_DBG_PMC, "Entered BMPS\n"); wcn36xx_dbg(WCN36XX_DBG_PMC, "Entered BMPS\n");
......
...@@ -128,7 +128,6 @@ struct wcn36xx_vif { ...@@ -128,7 +128,6 @@ struct wcn36xx_vif {
enum wcn36xx_hal_bss_type bss_type; enum wcn36xx_hal_bss_type bss_type;
/* Power management */ /* Power management */
bool allow_bmps;
enum wcn36xx_power_state pw_state; enum wcn36xx_power_state pw_state;
u8 bss_index; u8 bss_index;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment