diff options
author | Liad Kaufman <liad.kaufman@intel.com> | 2016-09-18 07:51:59 -0400 |
---|---|---|
committer | Luca Coelho <luciano.coelho@intel.com> | 2016-10-19 04:30:29 -0400 |
commit | 341ca402e42b3c4a8b34341a35f82ff9f7bf8664 (patch) | |
tree | 1a9bcd85228a013722d56773e40c1512d62b1d39 /drivers/net/wireless/intel | |
parent | 15b95a15950238eff4d7f24be1716086eea67835 (diff) |
iwlwifi: mvm: update txq metadata to current owner
When a TXQ's owner is changed, the FW is indeed notified, but
the driver doesn't update the current metadata to reflect the
owner change. Fix that.
Signed-off-by: Liad Kaufman <liad.kaufman@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Diffstat (limited to 'drivers/net/wireless/intel')
-rw-r--r-- | drivers/net/wireless/intel/iwlwifi/mvm/sta.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/sta.c b/drivers/net/wireless/intel/iwlwifi/mvm/sta.c index fc771885e383..a65030f4019d 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/sta.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/sta.c | |||
@@ -875,12 +875,17 @@ static void iwl_mvm_change_queue_owner(struct iwl_mvm *mvm, int queue) | |||
875 | cmd.tx_fifo = iwl_mvm_ac_to_tx_fifo[tid_to_mac80211_ac[tid]]; | 875 | cmd.tx_fifo = iwl_mvm_ac_to_tx_fifo[tid_to_mac80211_ac[tid]]; |
876 | 876 | ||
877 | ret = iwl_mvm_send_cmd_pdu(mvm, SCD_QUEUE_CFG, 0, sizeof(cmd), &cmd); | 877 | ret = iwl_mvm_send_cmd_pdu(mvm, SCD_QUEUE_CFG, 0, sizeof(cmd), &cmd); |
878 | if (ret) | 878 | if (ret) { |
879 | IWL_ERR(mvm, "Failed to update owner of TXQ %d (ret=%d)\n", | 879 | IWL_ERR(mvm, "Failed to update owner of TXQ %d (ret=%d)\n", |
880 | queue, ret); | 880 | queue, ret); |
881 | else | 881 | return; |
882 | IWL_DEBUG_TX_QUEUES(mvm, "Changed TXQ %d ownership to tid %d\n", | 882 | } |
883 | queue, tid); | 883 | |
884 | spin_lock_bh(&mvm->queue_info_lock); | ||
885 | mvm->queue_info[queue].txq_tid = tid; | ||
886 | spin_unlock_bh(&mvm->queue_info_lock); | ||
887 | IWL_DEBUG_TX_QUEUES(mvm, "Changed TXQ %d ownership to tid %d\n", | ||
888 | queue, tid); | ||
884 | } | 889 | } |
885 | 890 | ||
886 | static void iwl_mvm_unshare_queue(struct iwl_mvm *mvm, int queue) | 891 | static void iwl_mvm_unshare_queue(struct iwl_mvm *mvm, int queue) |