At Tue, 5 Jul 2011 11:22:33 +0100, Liam Girdwood wrote:
On 05/07/11 08:33, Takashi Iwai wrote:
At Tue, 05 Jul 2011 00:12:04 -0700 (PDT), kuninori.morimoto.gx@renesas.com wrote:
Dear Mark, Liam
These are fsi-xxx card name fixup patches. It are needed for current linus tree.
Kuninori Morimoto (3): ASoC: sh: fsi-ak4642: fixup snd_soc_card name ASoC: sh: fsi-da7210: fixup snd_soc_card name ASoC: sh: fsi-hdmi: fixup snd_soc_card name
The name string itself is allowed to contain spaces or other special letters. These are copied to longname and shortname. But the driver_name string isn't, and the problem is to reuse the same string for it.
Since no driver sets driver_name string yet, a better fix would be to keep it empty like the earlier version. The revised patch below.
I can give a little background here, the intention is to allow a single "family" driver to support several different machines. i.e. the Panda, Blaze and SDP4430 are use the same "OMAP4" sound driver, but all have slightly different analog outputs (requiring slightly different userspace alsa-lib/UCM configs).
Setting a right driver_name makes sense in such a case, indeed.
I do have a patch queued using driver name for OMAP4, but that will be for 3.2.
Takashi
From: Takashi Iwai tiwai@suse.de Subject: [PATCH] ASoC: Don't set invalid name string to snd_card->driver field
The snd_card->driver field contains a driver name string, and in general it shouldn't contain space or special letters. The commit 2b39535b9e54888649923beaab443af212b6c0fd changed the string copy from card->name, but the long name string may contain such letters, thus it may still lead to a segfault.
A temporary fix is not to copy the long name string but just keep it empty as the earlier version did.
Reported-by: Kuninori Morimoto kuninori.morimoto.gx@renesas.com Signed-off-by: Takashi Iwai tiwai@suse.de
Acked-by: Liam Girdwood lrg@ti.com
Thanks, now applied to fix/asoc branch.
Takashi