From a4ca3ed4ebefab9cfb342518009f2200847778e5 Mon Sep 17 00:00:00 2001 From: Emmanuel Grumbach Date: Tue, 20 Jan 2015 17:07:10 +0200 Subject: [PATCH] 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 Reviewed-by: Johannes Berg Signed-off-by: Emmanuel Grumbach --- drivers/net/wireless/iwlwifi/mvm/sta.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/wireless/iwlwifi/mvm/sta.c b/drivers/net/wireless/iwlwifi/mvm/sta.c index 8e413d3..14a8484 100644 --- a/drivers/net/wireless/iwlwifi/mvm/sta.c +++ b/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; -- 2.7.4