ALSA: hda: dynamic jack id

This patch duplicates the jack->id pointer with kstrdup() to prevent
scoping issues from calling autoprobing functions from the HDA section.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Matthew Ranostay 2008-10-25 01:05:29 -04:00 committed by Takashi Iwai
parent a53ccab3cc
commit 282cd76ffc

View File

@ -34,6 +34,7 @@ static int snd_jack_dev_free(struct snd_device *device)
else else
input_free_device(jack->input_dev); input_free_device(jack->input_dev);
kfree(jack->id);
kfree(jack); kfree(jack);
return 0; return 0;
@ -87,7 +88,7 @@ int snd_jack_new(struct snd_card *card, const char *id, int type,
if (jack == NULL) if (jack == NULL)
return -ENOMEM; return -ENOMEM;
jack->id = id; jack->id = kstrdup(id, GFP_KERNEL);
jack->input_dev = input_allocate_device(); jack->input_dev = input_allocate_device();
if (jack->input_dev == NULL) { if (jack->input_dev == NULL) {