Search Linux Wireless

Re: pull-request: iwlwifi-next 2017-04-13

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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;
  



[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux