summaryrefslogtreecommitdiff
path: root/sound/soc
diff options
context:
space:
mode:
authorJarkko Nikula <jhnikula@gmail.com>2011-05-20 12:47:40 (GMT)
committerMark Brown <broonie@opensource.wolfsonmicro.com>2011-05-22 02:31:11 (GMT)
commit2b39535b9e54888649923beaab443af212b6c0fd (patch)
tree0b4e42916a78e943a6ff15fc414f108fd9b1bfb5 /sound/soc
parent0dfe8da4921fdae6b9c77e320731e490d4b15a99 (diff)
downloadlinux-2b39535b9e54888649923beaab443af212b6c0fd.tar.xz
ASoC: core: Don't set "(null)" as a driver name
Commit 22de71b ("ASoC: core - allow ASoC more flexible machine name") writes "(null)" to driver name string in struct snd_card if card->driver_name is NULL. This causes segmentation faults with some user space ALSA utilities like aplay and arecord. Fix this by using the card->name if no driver name is specified. Signed-off-by: Jarkko Nikula <jhnikula@gmail.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc')
-rw-r--r--sound/soc/soc-core.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 5968745..bb7cd58 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -1930,7 +1930,7 @@ static void snd_soc_instantiate_card(struct snd_soc_card *card)
snprintf(card->snd_card->longname, sizeof(card->snd_card->longname),
"%s", card->long_name ? card->long_name : card->name);
snprintf(card->snd_card->driver, sizeof(card->snd_card->driver),
- "%s", card->driver_name);
+ "%s", card->driver_name ? card->driver_name : card->name);
if (card->late_probe) {
ret = card->late_probe(card);