wifi: iwlwifi: assign phy_ctxt before eSR activation
[ Upstream commit 9b6614e5ead5d19a71893bcca3f1a6569ca0c456 ]
eSR is activated when a chanctx is assigned to more than one link.
During eSR activation we should disable RLC for both phys, and configure
the FW with a special phy command for both phys.
Currently we assign the phy_ctxt to the link only after eSR activation,
so RLC is not disabled for the new phy_ctxt, and a cmd is not sent to FW.
Fix this by first assigning the new phy_ctxt to the link and then
doing the eSR activation.
Fixes: 12bacfc2c0
("wifi: iwlwifi: handle eSR transitions")
Reviewed-by: Gregory Greenman <gregory.greenman@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20231219215605.3d94507f5d9a.I537fcd73aedf94c7348c03157e486f24301fef14@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
a2a4bb509b
commit
e6f3f39676
|
@ -269,17 +269,17 @@ __iwl_mvm_mld_assign_vif_chanctx(struct iwl_mvm *mvm,
|
|||
}
|
||||
}
|
||||
|
||||
mvmvif->link[link_id]->phy_ctxt = phy_ctxt;
|
||||
|
||||
if (iwl_mvm_is_esr_supported(mvm->fwrt.trans) && n_active > 1) {
|
||||
mvmvif->link[link_id]->listen_lmac = true;
|
||||
ret = iwl_mvm_esr_mode_active(mvm, vif);
|
||||
if (ret) {
|
||||
IWL_ERR(mvm, "failed to activate ESR mode (%d)\n", ret);
|
||||
return ret;
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
|
||||
mvmvif->link[link_id]->phy_ctxt = phy_ctxt;
|
||||
|
||||
if (switching_chanctx) {
|
||||
/* reactivate if we turned this off during channel switch */
|
||||
if (vif->type == NL80211_IFTYPE_AP)
|
||||
|
|
Loading…
Reference in New Issue