Skip to contentSkip to conversation

Patch "ath10k: wake up queue upon vif creation" has been added to the 4.2-stable tree

PATCH [email protected] 1 participant 1 message Oct 17, 2015

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

ath10k: wake up queue upon vif creation

to the 4.2-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
ath10k-wake-up-queue-upon-vif-creation.patch
and it can be found in the queue-4.2 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From 6d2d51ecfff13f5f6ffc476dccf4d5b2668072eb Mon Sep 17 00:00:00 2001

From: Michal Kazior <[email protected]>
Date: Fri, 7 Aug 2015 09:08:21 +0200
Subject: ath10k: wake up queue upon vif creation

From: Michal Kazior <[email protected]>

commit 6d2d51ecfff13f5f6ffc476dccf4d5b2668072eb upstream.

Vif's vdev_id is used as queue number. However due to the tx pausing design in ath10k it was possible for a new interface to be created with its tx queue stopped (via ieee80211_stop_queues). This could in turn leave the interface inoperable until ath10k_mac_tx_unlock() was called.

This problem only affected multi-vif scenarios when new interfaces were created some time later after other interfaces have been running for some time and had Tx queue full at some point prior.

Possible manifestation of the bug was
authentication timeout for a client vif.

Fixes 96d828d45e16 ("ath10k: rework tx queue locking")
---
 drivers/net/wireless/ath/ath10k/mac.c |    5 +++++
 1 file changed, 5 insertions(+)
drivers/net/wireless/ath/ath10k/mac.c +5 -0
@@ -4283,6 +4283,11 @@ static int ath10k_add_interface(struct i
 		}
 	}
 
+	spin_lock_bh(&ar->htt.tx_lock);
+	if (!ar->tx_paused)
+		ieee80211_wake_queue(ar->hw, arvif->vdev_id);
+	spin_unlock_bh(&ar->htt.tx_lock);
+
 	mutex_unlock(&ar->conf_mutex);
 	return 0;
 

Patches currently in stable-queue which might be from [email protected] are

queue-4.2/ath10k-fix-dma_mapping_error-handling.patch queue-4.2/ath10k-wake-up-queue-upon-vif-creation.patch queue-4.2/ath10k-fix-peer-limit-enforcement.patch queue-4.2/ath10k-reject-11b-tx-fragmentation-configuration.patch queue-4.2/ath10k-fix-per-vif-queue-locking.patch queue-4.2/ath10k-wake-up-offchannel-queue-properly.patch