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

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
Loading
Loading
Loading
Loading
+0 −10
Original line number Diff line number Diff line
@@ -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;
	case DISABLE_KEY:
		if (!(IEEE80211_KEY_FLAG_PAIRWISE & key_conf->flags)) {
@@ -922,7 +913,6 @@ static void wcn36xx_bss_info_changed(struct ieee80211_hw *hw,
				    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,
+1 −4
Original line number Diff line number Diff line
@@ -25,10 +25,7 @@ int wcn36xx_pmc_enter_bmps_state(struct wcn36xx *wcn,
{
	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");
+0 −1
Original line number Diff line number Diff line
@@ -128,7 +128,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;