mirror of
https://github.com/torvalds/linux.git
synced 2026-10-12 05:17:15 +02:00
wifi: iwlwifi: mld: treat valid BAID without STA as a FW error
Somehow, the firmware sometimes seems to have a valid BAID even if the ieee80211_sta was not found. This happens in sniffer mode. Treat those as a firmware error. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Link: https://patch.msgid.link/20260714165826.4902f73de145.I2cec7133f2a2ec8c39dcfb36938aba2ea3d6be24@changeid Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
This commit is contained in:
parent
9119aeeddc
commit
68f7d05494
|
|
@ -200,11 +200,11 @@ iwl_mld_reorder(struct iwl_mld *mld, struct napi_struct *napi,
|
|||
struct iwl_mld_baid_data *baid_data;
|
||||
struct iwl_mld_reorder_buffer *buffer;
|
||||
struct iwl_mld_reorder_buf_entry *entries;
|
||||
struct iwl_mld_sta *mld_sta = iwl_mld_sta_from_mac80211(sta);
|
||||
struct iwl_mld_link_sta *mld_link_sta;
|
||||
u32 reorder = le32_to_cpu(desc->reorder_data);
|
||||
bool amsdu, last_subframe, is_old_sn, is_dup;
|
||||
u8 tid = ieee80211_get_tid(hdr);
|
||||
struct iwl_mld_sta *mld_sta;
|
||||
u8 baid;
|
||||
u16 nssn, sn;
|
||||
u32 sta_mask = 0;
|
||||
|
|
@ -223,10 +223,13 @@ iwl_mld_reorder(struct iwl_mld *mld, struct napi_struct *napi,
|
|||
return IWL_MLD_PASS_SKB;
|
||||
|
||||
/* no sta yet */
|
||||
if (WARN_ONCE(!sta,
|
||||
"Got valid BAID without a valid station assigned\n"))
|
||||
if (IWL_FW_CHECK(mld, !sta,
|
||||
"Got valid BAID without a valid station assigned - %d\n",
|
||||
baid))
|
||||
return IWL_MLD_PASS_SKB;
|
||||
|
||||
mld_sta = iwl_mld_sta_from_mac80211(sta);
|
||||
|
||||
/* not a data packet */
|
||||
if (!ieee80211_is_data_qos(hdr->frame_control) ||
|
||||
is_multicast_ether_addr(hdr->addr1))
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user