diff options
author | Matthew Ranostay <mranostay@embeddedalley.com> | 2008-10-25 01:05:29 -0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2008-10-27 03:15:14 -0400 |
commit | 282cd76ffca781013151344c4b0f9229e9ea3c35 (patch) | |
tree | d6a201558af22f21aeff7e3340095410fa5984d9 /sound/core/jack.c | |
parent | a53ccab3ccac9e8676a683df9822a2daec83ef54 (diff) |
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>
Diffstat (limited to 'sound/core/jack.c')
-rw-r--r-- | sound/core/jack.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sound/core/jack.c b/sound/core/jack.c index c4bb9bad313..438445f77d6 100644 --- a/sound/core/jack.c +++ b/sound/core/jack.c | |||
@@ -34,6 +34,7 @@ static int snd_jack_dev_free(struct snd_device *device) | |||
34 | else | 34 | else |
35 | input_free_device(jack->input_dev); | 35 | input_free_device(jack->input_dev); |
36 | 36 | ||
37 | kfree(jack->id); | ||
37 | kfree(jack); | 38 | kfree(jack); |
38 | 39 | ||
39 | return 0; | 40 | return 0; |
@@ -87,7 +88,7 @@ int snd_jack_new(struct snd_card *card, const char *id, int type, | |||
87 | if (jack == NULL) | 88 | if (jack == NULL) |
88 | return -ENOMEM; | 89 | return -ENOMEM; |
89 | 90 | ||
90 | jack->id = id; | 91 | jack->id = kstrdup(id, GFP_KERNEL); |
91 | 92 | ||
92 | jack->input_dev = input_allocate_device(); | 93 | jack->input_dev = input_allocate_device(); |
93 | if (jack->input_dev == NULL) { | 94 | if (jack->input_dev == NULL) { |