summaryrefslogtreecommitdiffstats
path: root/kernel/workqueue.c
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2026-04-14 12:47:16 +0100
committerMark Brown <broonie@kernel.org>2026-04-14 12:47:16 +0100
commit6e5b0fac1063ba0b3c0e3fe1c605f95a3f45d440 (patch)
tree42b5784e66a4a3e264b5821b2118d73ba51a5d18 /kernel/workqueue.c
parentcf162476f7e082662691e75f96bfc99c6a64810d (diff)
parenta158fe7b0c817eebcf2871fe1306347a376030e8 (diff)
downloadlinux-6e5b0fac1063ba0b3c0e3fe1c605f95a3f45d440.tar.gz
linux-6e5b0fac1063ba0b3c0e3fe1c605f95a3f45d440.zip
ASoC: SOF: Intel: NVL/NVL-S: add platform name
Bard Liao <yung-chuan.liao@linux.intel.com> says: The platform name will be used in the topology name. Link: https://patch.msgid.link/20260413060800.3156425-1-yung-chuan.liao@linux.intel.com
Diffstat (limited to 'kernel/workqueue.c')
-rw-r--r--kernel/workqueue.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/kernel/workqueue.c b/kernel/workqueue.c
index eda756556341..c6ea96d5b716 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -1849,8 +1849,20 @@ static void unplug_oldest_pwq(struct workqueue_struct *wq)
raw_spin_lock_irq(&pwq->pool->lock);
if (pwq->plugged) {
pwq->plugged = false;
- if (pwq_activate_first_inactive(pwq, true))
+ if (pwq_activate_first_inactive(pwq, true)) {
+ /*
+ * While plugged, queueing skips activation which
+ * includes bumping the nr_active count and adding the
+ * pwq to nna->pending_pwqs if the count can't be
+ * obtained. We need to restore both for the pwq being
+ * unplugged. The first call activates the first
+ * inactive work item and the second, if there are more
+ * inactive, puts the pwq on pending_pwqs.
+ */
+ pwq_activate_first_inactive(pwq, false);
+
kick_pool(pwq->pool);
+ }
}
raw_spin_unlock_irq(&pwq->pool->lock);
}