Kalle Valo <[email protected]> writes:

> Luca Coelho <[email protected]> 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;
  

Reply via email to