提交 e48393e8 编写于 作者: I Ilan Peer 提交者: Emmanuel Grumbach

iwlwifi: mvm: Fix broadcast filtering

Current code did not allow sending the broadcast filtering command
for P2P Client interfaces. However, this was not enough, since once
broadcast filtering command was issued over the station interface
after the P2P Client connected, the command also attached the filters
to the P2P Client MAC which is not allowed (FW ASSERT 1063).

Fix this skipping P2P Client interfaces when constructing the broadcast
filtering command
Signed-off-by: NIlan Peer <ilan.peer@intel.com>
Reviewed-by: NArikX Nemtsov <arik@wizery.com>
Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
上级 a42c9fcc
...@@ -1166,8 +1166,12 @@ static void iwl_mvm_bcast_filter_iterator(void *_data, u8 *mac, ...@@ -1166,8 +1166,12 @@ static void iwl_mvm_bcast_filter_iterator(void *_data, u8 *mac,
bcast_mac = &cmd->macs[mvmvif->id]; bcast_mac = &cmd->macs[mvmvif->id];
/* enable filtering only for associated stations */ /*
if (vif->type != NL80211_IFTYPE_STATION || !vif->bss_conf.assoc) * enable filtering only for associated stations, but not for P2P
* Clients
*/
if (vif->type != NL80211_IFTYPE_STATION || vif->p2p ||
!vif->bss_conf.assoc)
return; return;
bcast_mac->default_discard = 1; bcast_mac->default_discard = 1;
...@@ -1244,10 +1248,6 @@ static int iwl_mvm_configure_bcast_filter(struct iwl_mvm *mvm, ...@@ -1244,10 +1248,6 @@ static int iwl_mvm_configure_bcast_filter(struct iwl_mvm *mvm,
if (!(mvm->fw->ucode_capa.flags & IWL_UCODE_TLV_FLAGS_BCAST_FILTERING)) if (!(mvm->fw->ucode_capa.flags & IWL_UCODE_TLV_FLAGS_BCAST_FILTERING))
return 0; return 0;
/* bcast filtering isn't supported for P2P client */
if (vif->p2p)
return 0;
if (!iwl_mvm_bcast_filter_build_cmd(mvm, &cmd)) if (!iwl_mvm_bcast_filter_build_cmd(mvm, &cmd))
return 0; return 0;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册