All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH2/4] hda: dynamic jack id
@ 2008-10-21 17:26 Matthew Ranostay
  2008-10-21 19:41 ` Mark Brown
  0 siblings, 1 reply; 3+ messages in thread
From: Matthew Ranostay @ 2008-10-21 17:26 UTC (permalink / raw)
  To: alsa-devel; +Cc: Takashi Iwai

Allow jack->id to be kstrdup()'ed to prevent scope issues from
calling functions.

Signed-off-by: Matthew Ranostay <mranostay@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) {

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH2/4] hda: dynamic jack id
  2008-10-21 17:26 Matthew Ranostay
@ 2008-10-21 19:41 ` Mark Brown
  0 siblings, 0 replies; 3+ messages in thread
From: Mark Brown @ 2008-10-21 19:41 UTC (permalink / raw)
  To: Matthew Ranostay; +Cc: Takashi Iwai, alsa-devel

On Tue, Oct 21, 2008 at 01:26:48PM -0400, Matthew Ranostay wrote:
> Allow jack->id to be kstrdup()'ed to prevent scope issues from
> calling functions.

Your patch doesn't allow it to be duplicated - it does actually
duplicate it.  Do you mean to say that you want to duplicate the string
so that users can automatically generate the string without having to
manage the memory for it?

That should be OK for the embedded case, the size of the string isn't
such a big deal if you're able to handle a reasonable amount of audio
data, and it's probably going to be a common case with autoprobable
things like HDA.

I'd prefer a clearer changelog but:

Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH2/4] hda: dynamic jack id
@ 2008-10-25  5:05 Matthew Ranostay
  0 siblings, 0 replies; 3+ messages in thread
From: Matthew Ranostay @ 2008-10-25  5:05 UTC (permalink / raw)
  To: alsa-devel; +Cc: Takashi Iwai, Dmitry Torokhov, Mark Brown

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>
---

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) {

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2008-10-25  5:05 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-10-25  5:05 [PATCH2/4] hda: dynamic jack id Matthew Ranostay
  -- strict thread matches above, loose matches on Subject: below --
2008-10-21 17:26 Matthew Ranostay
2008-10-21 19:41 ` Mark Brown

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.