Browse Source

iwlwifi: mvm: really disable TDLS queues

for_each_set_bit expect the size in number of bits and not
in bytes.

Fixes: a0f6bf2a5b01 ("iwlwifi: mvm: use private TFD queues for TDLS stations")
Reviewed-by: Arik Nemtsov <arik@wizery.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Emmanuel Grumbach 10 years ago
parent
commit
a4ca3ed4eb
1 changed files with 2 additions and 2 deletions
  1. 2 2
      drivers/net/wireless/iwlwifi/mvm/sta.c

+ 2 - 2
drivers/net/wireless/iwlwifi/mvm/sta.c

@@ -250,7 +250,7 @@ static void iwl_mvm_tdls_sta_deinit(struct iwl_mvm *mvm,
 
 	/* disable the TDLS STA-specific queues */
 	sta_msk = mvmsta->tfd_queue_msk;
-	for_each_set_bit(i, &sta_msk, sizeof(sta_msk))
+	for_each_set_bit(i, &sta_msk, sizeof(sta_msk) * BITS_PER_BYTE)
 		iwl_mvm_disable_txq(mvm, i, 0);
 }
 
@@ -464,7 +464,7 @@ void iwl_mvm_sta_drained_wk(struct work_struct *wk)
 		if (mvm->tfd_drained[sta_id]) {
 			unsigned long i, msk = mvm->tfd_drained[sta_id];
 
-			for_each_set_bit(i, &msk, sizeof(msk))
+			for_each_set_bit(i, &msk, sizeof(msk) * BITS_PER_BYTE)
 				iwl_mvm_disable_txq(mvm, i, 0);
 
 			mvm->tfd_drained[sta_id] = 0;