iwlwifi: mvm: support TX on MONITOR iface
authorLiad Kaufman <liad.kaufman@intel.com>
Mon, 15 May 2017 15:26:33 +0000 (18:26 +0300)
committerLuca Coelho <luciano.coelho@intel.com>
Fri, 23 Jun 2017 09:27:52 +0000 (12:27 +0300)
When trying to TX through a monitor interface, the
conditions in iwl_mvm_tx_skb_non_sta() don't match
and the frame tries to go out from an usued TXQ.

Add a check for monitor iface, and use the AUX queue
in such a case.

In non-DQA mode the frame is sent through the
static-allocated queues anyway, so the problem is
in DQA mode only.

Signed-off-by: Liad Kaufman <liad.kaufman@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
drivers/net/wireless/intel/iwlwifi/mvm/tx.c

index 157a75394763af786706df0c56f2bd223202f835..c89bb453c4965f6365e095f2619d75ad2b8b7b37 100644 (file)
@@ -651,6 +651,9 @@ int iwl_mvm_tx_skb_non_sta(struct iwl_mvm *mvm, struct sk_buff *skb)
                           info.control.vif->type == NL80211_IFTYPE_STATION &&
                           queue != mvm->aux_queue) {
                        queue = IWL_MVM_DQA_BSS_CLIENT_QUEUE;
+               } else if (iwl_mvm_is_dqa_supported(mvm) &&
+                          info.control.vif->type == NL80211_IFTYPE_MONITOR) {
+                       queue = mvm->aux_queue;
                }
        }