linux/sound
Lars-Peter Clausen a798c24a69 ASoC: dapm: Don't add prefix to widget stream name
Commit fdb6eb0a12 ("ASoC: dapm: Modify widget stream name according to
prefix") fixed the case where a DAPM route between a DAI widget and a
DAC/ADC/AIF widget with a matching stream name was not created when the
DAPM context was using a prefix.

Unfortunately the patch introduced a few issues on its own like leaking the
dynamically allocated stream name memory and also not checking whether the
allocation succeeded in the first place.

It is also incomplete in that it still does not handle the case where
stream name of the widget is a substring of the stream name of the DAI,
which is explicitly allowed and works fine if no DAPM prefix is used.

Revert the commit and take a slightly different approach to solving the
issue. Instead of comparing the widget's stream name to the name of the DAI
widget compare it to the stream name of the DAI widget. The stream name of
the DAI widget is identical to the name of the DAI widget except that it
wont have the DAPM prefix added. So this approach behaves identical
regardless to whether the DAPM context uses a prefix or not.

We don't have to worry about potentially matching with a widget with the
same stream name, but from a different DAPM context with a different
prefix, since the code already makes sure that both the DAI widget and the
matched widget are from the same DAPM context.

Fixes: fdb6eb0a12 ("ASoC: dapm: Modify widget stream name according to prefix")
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: stable@vger.kernel.org
2015-07-21 11:32:00 +01:00
..
aoa ALSA: aoa: constify of_device_id array 2015-03-19 12:11:13 +01:00
arm ALSA: Deletion of checks before the function call "iounmap" 2015-01-04 15:13:45 +01:00
atmel ALSA: sound/atmel/ac97c.c: remove unused variable 2015-05-20 06:18:25 +02:00
core ALSA: pcm: Modify double acknowledged interrupts check condition 2015-05-19 09:32:29 +02:00
drivers Merge branch 'for-linus' into for-next 2015-03-09 08:42:00 +01:00
firewire Merge branch 'for-next' into for-linus 2015-04-13 10:23:18 +02:00
hda ALSA: hda - set GET bit when adding a vendor verb to the codec regmap 2015-04-14 07:25:42 +02:00
i2c ALSA: ak411x: simplify snd_ak4113_create() a bit 2015-03-23 13:58:59 +01:00
isa sound: Deparenthesize negative error returns 2015-03-24 11:41:37 +01:00
mips ALSA: au1x00: fix error return code 2015-04-05 18:04:27 +02:00
oss sound/oss: fix deadlock in sequencer_ioctl(SNDCTL_SEQ_OUTOFBAND) 2015-04-18 09:05:55 +02:00
parisc ALSA: Include linux/io.h instead of asm/io.h 2015-01-28 16:49:33 +01:00
pci ALSA: hda - Fix lost sound due to stream_pm ops cleanup 2015-05-29 09:49:01 +02:00
pcmcia
ppc powerpc: Move Power Macintosh drivers to generic byteswappers 2015-03-23 14:29:40 +11:00
sh ALSA: Include linux/io.h instead of asm/io.h 2015-01-28 16:49:33 +01:00
soc ASoC: dapm: Don't add prefix to widget stream name 2015-07-21 11:32:00 +01:00
sparc ALSA: Include linux/io.h instead of asm/io.h 2015-01-28 16:49:33 +01:00
spi
synth ALSA: emux: Fix mutex deadlock in OSS emulation 2015-04-28 17:45:45 +02:00
usb ALSA: usb-audio: Add quirk for MS LifeCam HD-3000 2015-05-24 08:26:55 +02:00
ac97_bus.c
Kconfig ALSA: hda - Make snd_hda_bus_type public 2015-03-23 13:15:51 +01:00
last.c
Makefile ALSA: hda - Make snd_hda_bus_type public 2015-03-23 13:15:51 +01:00
sound_core.c
sound_firmware.c