[alsa-devel] [PATCH2/4] hda: dynamic jack id

Matthew Ranostay mranostay at embeddedalley.com
Sat Oct 25 07:05:29 CEST 2008


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 at embeddedalley.com>
---

diff --git a/sound/core/jack.c b/sound/core/jack.c
index 4978db1..284432f 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)
 	else
 		input_free_device(jack->input_dev);

+	kfree(jack->id);
 	kfree(jack);

 	return 0;
@@ -87,7 +88,7 @@ int snd_jack_new(struct snd_card *card, const char *id, int type,
 	if (jack == NULL)
 		return -ENOMEM;

-	jack->id = id;
+	jack->id = kstrdup(id, GFP_KERNEL);

 	jack->input_dev = input_allocate_device();
 	if (jack->input_dev == NULL) {




More information about the Alsa-devel mailing list