File tree Expand file tree Collapse file tree 2 files changed +14
-6
lines changed
drivers/net/wireless/intel/iwlwifi/mvm Expand file tree Collapse file tree 2 files changed +14
-6
lines changed Original file line number Diff line number Diff line change 89
89
/*
90
90
* DQA queue numbers
91
91
*
92
+ * @IWL_MVM_DQA_GCAST_QUEUE: a queue reserved for P2P GO/SoftAP GCAST frames
92
93
* @IWL_MVM_DQA_BSS_CLIENT_QUEUE: a queue reserved for BSS activity, to ensure
93
94
* that we are never left without the possibility to connect to an AP.
94
95
* @IWL_MVM_DQA_MIN_MGMT_QUEUE: first TXQ in pool for MGMT and non-QOS frames.
@@ -102,6 +103,7 @@ enum {
102
103
* @IWL_MVM_DQA_MAX_DATA_QUEUE: last TXQ in pool for DATA frames
103
104
*/
104
105
enum iwl_mvm_dqa_txq {
106
+ IWL_MVM_DQA_GCAST_QUEUE = 3 ,
105
107
IWL_MVM_DQA_BSS_CLIENT_QUEUE = 4 ,
106
108
IWL_MVM_DQA_MIN_MGMT_QUEUE = 5 ,
107
109
IWL_MVM_DQA_MAX_MGMT_QUEUE = 8 ,
Original file line number Diff line number Diff line change @@ -447,13 +447,19 @@ static int iwl_mvm_mac_ctxt_allocate_resources(struct iwl_mvm *mvm,
447
447
448
448
/* Allocate the CAB queue for softAP and GO interfaces */
449
449
if (vif -> type == NL80211_IFTYPE_AP ) {
450
- u8 queue = find_first_zero_bit (& used_hw_queues ,
451
- mvm -> first_agg_queue );
450
+ u8 queue ;
452
451
453
- if (queue >= mvm -> first_agg_queue ) {
454
- IWL_ERR (mvm , "Failed to allocate cab queue\n" );
455
- ret = - EIO ;
456
- goto exit_fail ;
452
+ if (!iwl_mvm_is_dqa_supported (mvm )) {
453
+ queue = find_first_zero_bit (& used_hw_queues ,
454
+ mvm -> first_agg_queue );
455
+
456
+ if (queue >= mvm -> first_agg_queue ) {
457
+ IWL_ERR (mvm , "Failed to allocate cab queue\n" );
458
+ ret = - EIO ;
459
+ goto exit_fail ;
460
+ }
461
+ } else {
462
+ queue = IWL_MVM_DQA_GCAST_QUEUE ;
457
463
}
458
464
459
465
vif -> cab_queue = queue ;
You can’t perform that action at this time.
0 commit comments