Skip to contentSkip to conversation

Patch "ASoC: dapm: Make sure we have a card when displaying component widgets" has been added to the 4.4-stable tree

PATCH [email protected] 1 participant 1 message May 2, 2016

Subsystems (3)
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

ASoC: dapm: Make sure we have a card when displaying component widgets

to the 4.4-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:
asoc-dapm-make-sure-we-have-a-card-when-displaying-component-widgets.patch
and it can be found in the queue-4.4 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 47325078f2a3e543150e7df967e45756b2fff7ec Mon Sep 17 00:00:00 2001

From: Mark Brown <[email protected]>
Date: Fri, 18 Mar 2016 12:04:23 +0000
Subject: ASoC: dapm: Make sure we have a card when displaying component widgets

From: Mark Brown <[email protected]>

commit 47325078f2a3e543150e7df967e45756b2fff7ec upstream.

The dummy component is reused for all cards so we special case and don't bind it to any of them. This means that code like that displaying the component widgets that tries to look at the card will crash. In the future we will fix this by ensuring that the dummy component looks like other components but that is invasive and so not suitable for a fix. Instead add a special case check here.

---
 sound/soc/soc-dapm.c |    7 +++++++
 1 file changed, 7 insertions(+)
sound/soc/soc-dapm.c +7 -0
@@ -2188,6 +2188,13 @@ static ssize_t dapm_widget_show_componen
 	int count = 0;
 	char *state = "not set";
 
+	/* card won't be set for the dummy component, as a spot fix
+	 * we're checking for that case specifically here but in future
+	 * we will ensure that the dummy component looks like others.
+	 */
+	if (!cmpnt->card)
+		return 0;
+
 	list_for_each_entry(w, &cmpnt->card->widgets, list) {
 		if (w->dapm != dapm)
 			continue;

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

queue-4.4/asoc-ssm4567-reset-device-before-regcache_sync.patch queue-4.4/asoc-dapm-make-sure-we-have-a-card-when-displaying-component-widgets.patch queue-4.4/asoc-rt5640-correct-the-digital-interface-data-select.patch queue-4.4/asoc-s3c24xx-use-const-snd_soc_component_driver-pointer.patch