Kalle Valo <kvalo@xxxxxxxxxxxxxx> writes: > Luca Coelho <luca@xxxxxxxxx> writes: > >> Here's my first pull-request intended for v4.12. This is generic >> development work, nothing really stands out. More >> details in the tag description. >> >> I have sent this out before, and kbuildbot reported success. >> >> Please let me know if there are any issues. >> >> Cheers, >> Luca. >> >> >> The following changes since commit 1aed89640a899cd695bbfc976a4356affa474646: >> >> mwifiex: apply radar flag (2017-04-05 15:54:52 +0300) >> >> are available in the git repository at: >> >> git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next.git >> tags/iwlwifi-next-for-kalle-2017-04-13 >> >> for you to fetch changes up to 87d0e1af9db3bff4ec2f68fd4d032f89c23867a4: >> >> iwlwifi: mvm: separate queue mapping from queue enablement (2017-04-11 15:25:00 +0300) >> >> ---------------------------------------------------------------- >> Patches intended for v4.12: >> >> * Some small fixes here and there; >> * The usual cleanups and small improvements; >> * Work to support A000 devices continues; >> * New FW API version; >> * Some debugging improvements; >> >> ---------------------------------------------------------------- > > This one has few conflicts. I can fix those manually, but can you give > some guidance how? I think I got it now, see below for the diff I did. Can you please check that? The resolution is also in the pending branch: https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next.git/log/?h=pending diff --cc drivers/net/wireless/intel/iwlwifi/mvm/sta.c index 9d28db7f56aa,2d68cee41306..a552955f72f7 --- a/drivers/net/wireless/intel/iwlwifi/mvm/sta.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/sta.c @@@ -1806,11 -1805,10 +1805,11 @@@ int iwl_mvm_send_add_bcast_sta(struct i iwl_mvm_get_wd_timeout(mvm, vif, false, false); int queue; - if (vif->type == NL80211_IFTYPE_AP) + if (vif->type == NL80211_IFTYPE_AP || + vif->type == NL80211_IFTYPE_ADHOC) - queue = IWL_MVM_DQA_AP_PROBE_RESP_QUEUE; + queue = mvm->probe_queue; else if (vif->type == NL80211_IFTYPE_P2P_DEVICE) - queue = IWL_MVM_DQA_P2P_DEVICE_QUEUE; + queue = mvm->p2p_dev_queue; else if (WARN(1, "Missing required TXQ for adding bcast STA\n")) return -EINVAL; @@@ -1864,29 -1836,18 +1863,23 @@@ static void iwl_mvm_free_bcast_sta_queu lockdep_assert_held(&mvm->mutex); + if (vif->type == NL80211_IFTYPE_AP || + vif->type == NL80211_IFTYPE_ADHOC) + iwl_mvm_disable_txq(mvm, vif->cab_queue, vif->cab_queue, + IWL_MAX_TID_COUNT, 0); + - if (mvmvif->bcast_sta.tfd_queue_msk & - BIT(IWL_MVM_DQA_AP_PROBE_RESP_QUEUE)) { - iwl_mvm_disable_txq(mvm, - IWL_MVM_DQA_AP_PROBE_RESP_QUEUE, + if (mvmvif->bcast_sta.tfd_queue_msk & BIT(mvm->probe_queue)) { + iwl_mvm_disable_txq(mvm, mvm->probe_queue, vif->hw_queue[0], IWL_MAX_TID_COUNT, 0); - mvmvif->bcast_sta.tfd_queue_msk &= - ~BIT(IWL_MVM_DQA_AP_PROBE_RESP_QUEUE); + mvmvif->bcast_sta.tfd_queue_msk &= ~BIT(mvm->probe_queue); } - if (mvmvif->bcast_sta.tfd_queue_msk & - BIT(IWL_MVM_DQA_P2P_DEVICE_QUEUE)) { - iwl_mvm_disable_txq(mvm, - IWL_MVM_DQA_P2P_DEVICE_QUEUE, + if (mvmvif->bcast_sta.tfd_queue_msk & BIT(mvm->p2p_dev_queue)) { + iwl_mvm_disable_txq(mvm, mvm->p2p_dev_queue, vif->hw_queue[0], IWL_MAX_TID_COUNT, 0); - mvmvif->bcast_sta.tfd_queue_msk &= - ~BIT(IWL_MVM_DQA_P2P_DEVICE_QUEUE); + mvmvif->bcast_sta.tfd_queue_msk &= ~BIT(mvm->p2p_dev_queue); } } diff --cc drivers/net/wireless/intel/iwlwifi/mvm/tx.c index 1ba0a6f55503,568b0793e84e..ffbbe7228f5d --- a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c @@@ -518,12 -517,11 +518,12 @@@ static int iwl_mvm_get_ctrl_vif_queue(s if (info->hw_queue == info->control.vif->cab_queue) return info->hw_queue; - WARN_ONCE(1, "fc=0x%02x", le16_to_cpu(fc)); + WARN_ONCE(info->control.vif->type != NL80211_IFTYPE_ADHOC, + "fc=0x%02x", le16_to_cpu(fc)); - return IWL_MVM_DQA_AP_PROBE_RESP_QUEUE; + return mvm->probe_queue; case NL80211_IFTYPE_P2P_DEVICE: if (ieee80211_is_mgmt(fc)) - return IWL_MVM_DQA_P2P_DEVICE_QUEUE; + return mvm->p2p_dev_queue; if (info->hw_queue == info->control.vif->cab_queue) return info->hw_queue;