Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 44621b82 authored by Emmanuel Grumbach's avatar Emmanuel Grumbach
Browse files

Merge remote-tracking branch 'iwlwifi-fixes/master' into iwlwifi-next

parents c47af22a dc271ee0
Loading
Loading
Loading
Loading
+0 −12
Original line number Original line Diff line number Diff line
@@ -1068,13 +1068,6 @@ int iwlagn_commit_rxon(struct iwl_priv *priv, struct iwl_rxon_context *ctx)
	/* recalculate basic rates */
	/* recalculate basic rates */
	iwl_calc_basic_rates(priv, ctx);
	iwl_calc_basic_rates(priv, ctx);


	/*
	 * force CTS-to-self frames protection if RTS-CTS is not preferred
	 * one aggregation protection method
	 */
	if (!priv->hw_params.use_rts_for_aggregation)
		ctx->staging.flags |= RXON_FLG_SELF_CTS_EN;

	if ((ctx->vif && ctx->vif->bss_conf.use_short_slot) ||
	if ((ctx->vif && ctx->vif->bss_conf.use_short_slot) ||
	    !(ctx->staging.flags & RXON_FLG_BAND_24G_MSK))
	    !(ctx->staging.flags & RXON_FLG_BAND_24G_MSK))
		ctx->staging.flags |= RXON_FLG_SHORT_SLOT_MSK;
		ctx->staging.flags |= RXON_FLG_SHORT_SLOT_MSK;
@@ -1480,11 +1473,6 @@ void iwlagn_bss_info_changed(struct ieee80211_hw *hw,
	else
	else
		ctx->staging.flags &= ~RXON_FLG_TGG_PROTECT_MSK;
		ctx->staging.flags &= ~RXON_FLG_TGG_PROTECT_MSK;


	if (bss_conf->use_cts_prot)
		ctx->staging.flags |= RXON_FLG_SELF_CTS_EN;
	else
		ctx->staging.flags &= ~RXON_FLG_SELF_CTS_EN;

	memcpy(ctx->staging.bssid_addr, bss_conf->bssid, ETH_ALEN);
	memcpy(ctx->staging.bssid_addr, bss_conf->bssid, ETH_ALEN);


	if (vif->type == NL80211_IFTYPE_AP ||
	if (vif->type == NL80211_IFTYPE_AP ||
+1 −0
Original line number Original line Diff line number Diff line
@@ -90,6 +90,7 @@
 *	P2P client interfaces simultaneously if they are in different bindings.
 *	P2P client interfaces simultaneously if they are in different bindings.
 * @IWL_UCODE_TLV_FLAGS_P2P_BSS_PS_SCM: support power save on BSS station and
 * @IWL_UCODE_TLV_FLAGS_P2P_BSS_PS_SCM: support power save on BSS station and
 *	P2P client interfaces simultaneously if they are in same bindings.
 *	P2P client interfaces simultaneously if they are in same bindings.
 * @IWL_UCODE_TLV_FLAGS_UAPSD_SUPPORT: General support for uAPSD
 * @IWL_UCODE_TLV_FLAGS_P2P_PS_UAPSD: P2P client supports uAPSD power save
 * @IWL_UCODE_TLV_FLAGS_P2P_PS_UAPSD: P2P client supports uAPSD power save
 * @IWL_UCODE_TLV_FLAGS_BCAST_FILTERING: uCode supports broadcast filtering.
 * @IWL_UCODE_TLV_FLAGS_BCAST_FILTERING: uCode supports broadcast filtering.
 * @IWL_UCODE_TLV_FLAGS_GO_UAPSD: AP/GO interfaces support uAPSD clients
 * @IWL_UCODE_TLV_FLAGS_GO_UAPSD: AP/GO interfaces support uAPSD clients
+2 −3
Original line number Original line Diff line number Diff line
@@ -667,10 +667,9 @@ static void iwl_mvm_mac_ctxt_cmd_common(struct iwl_mvm *mvm,
	if (vif->bss_conf.qos)
	if (vif->bss_conf.qos)
		cmd->qos_flags |= cpu_to_le32(MAC_QOS_FLG_UPDATE_EDCA);
		cmd->qos_flags |= cpu_to_le32(MAC_QOS_FLG_UPDATE_EDCA);


	if (vif->bss_conf.use_cts_prot) {
	if (vif->bss_conf.use_cts_prot)
		cmd->protection_flags |= cpu_to_le32(MAC_PROT_FLG_TGG_PROTECT);
		cmd->protection_flags |= cpu_to_le32(MAC_PROT_FLG_TGG_PROTECT);
		cmd->protection_flags |= cpu_to_le32(MAC_PROT_FLG_SELF_CTS_EN);

	}
	IWL_DEBUG_RATE(mvm, "use_cts_prot %d, ht_operation_mode %d\n",
	IWL_DEBUG_RATE(mvm, "use_cts_prot %d, ht_operation_mode %d\n",
		       vif->bss_conf.use_cts_prot,
		       vif->bss_conf.use_cts_prot,
		       vif->bss_conf.ht_operation_mode);
		       vif->bss_conf.ht_operation_mode);
+13 −6
Original line number Original line Diff line number Diff line
@@ -303,6 +303,13 @@ int iwl_mvm_mac_setup_register(struct iwl_mvm *mvm)
		hw->uapsd_max_sp_len = IWL_UAPSD_MAX_SP;
		hw->uapsd_max_sp_len = IWL_UAPSD_MAX_SP;
	}
	}


	if (mvm->fw->ucode_capa.flags & IWL_UCODE_TLV_FLAGS_UAPSD_SUPPORT &&
	    !iwlwifi_mod_params.uapsd_disable) {
		hw->flags |= IEEE80211_HW_SUPPORTS_UAPSD;
		hw->uapsd_queues = IWL_UAPSD_AC_INFO;
		hw->uapsd_max_sp_len = IWL_UAPSD_MAX_SP;
	}

	hw->sta_data_size = sizeof(struct iwl_mvm_sta);
	hw->sta_data_size = sizeof(struct iwl_mvm_sta);
	hw->vif_data_size = sizeof(struct iwl_mvm_vif);
	hw->vif_data_size = sizeof(struct iwl_mvm_vif);
	hw->chanctx_data_size = sizeof(u16);
	hw->chanctx_data_size = sizeof(u16);
@@ -1170,8 +1177,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;
@@ -1248,10 +1259,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;


+2 −1
Original line number Original line Diff line number Diff line
@@ -367,6 +367,7 @@ static DEFINE_PCI_DEVICE_TABLE(iwl_hw_card_ids) = {
	{IWL_PCI_DEVICE(0x095A, 0x5012, iwl7265_2ac_cfg)},
	{IWL_PCI_DEVICE(0x095A, 0x5012, iwl7265_2ac_cfg)},
	{IWL_PCI_DEVICE(0x095A, 0x5412, iwl7265_2ac_cfg)},
	{IWL_PCI_DEVICE(0x095A, 0x5412, iwl7265_2ac_cfg)},
	{IWL_PCI_DEVICE(0x095A, 0x5410, iwl7265_2ac_cfg)},
	{IWL_PCI_DEVICE(0x095A, 0x5410, iwl7265_2ac_cfg)},
	{IWL_PCI_DEVICE(0x095A, 0x5510, iwl7265_2ac_cfg)},
	{IWL_PCI_DEVICE(0x095A, 0x5400, iwl7265_2ac_cfg)},
	{IWL_PCI_DEVICE(0x095A, 0x5400, iwl7265_2ac_cfg)},
	{IWL_PCI_DEVICE(0x095A, 0x1010, iwl7265_2ac_cfg)},
	{IWL_PCI_DEVICE(0x095A, 0x1010, iwl7265_2ac_cfg)},
	{IWL_PCI_DEVICE(0x095A, 0x5000, iwl7265_2n_cfg)},
	{IWL_PCI_DEVICE(0x095A, 0x5000, iwl7265_2n_cfg)},
@@ -380,7 +381,7 @@ static DEFINE_PCI_DEVICE_TABLE(iwl_hw_card_ids) = {
	{IWL_PCI_DEVICE(0x095A, 0x9110, iwl7265_2ac_cfg)},
	{IWL_PCI_DEVICE(0x095A, 0x9110, iwl7265_2ac_cfg)},
	{IWL_PCI_DEVICE(0x095A, 0x9112, iwl7265_2ac_cfg)},
	{IWL_PCI_DEVICE(0x095A, 0x9112, iwl7265_2ac_cfg)},
	{IWL_PCI_DEVICE(0x095A, 0x9210, iwl7265_2ac_cfg)},
	{IWL_PCI_DEVICE(0x095A, 0x9210, iwl7265_2ac_cfg)},
	{IWL_PCI_DEVICE(0x095A, 0x9200, iwl7265_2ac_cfg)},
	{IWL_PCI_DEVICE(0x095B, 0x9200, iwl7265_2ac_cfg)},
	{IWL_PCI_DEVICE(0x095A, 0x9510, iwl7265_2ac_cfg)},
	{IWL_PCI_DEVICE(0x095A, 0x9510, iwl7265_2ac_cfg)},
	{IWL_PCI_DEVICE(0x095A, 0x9310, iwl7265_2ac_cfg)},
	{IWL_PCI_DEVICE(0x095A, 0x9310, iwl7265_2ac_cfg)},
	{IWL_PCI_DEVICE(0x095A, 0x9410, iwl7265_2ac_cfg)},
	{IWL_PCI_DEVICE(0x095A, 0x9410, iwl7265_2ac_cfg)},