Commit 9d59065c authored by Takashi Iwai's avatar Takashi Iwai

ALSA: add private_data to struct snd_jack

Added private_data and private_free fields to struct snd_jack so that
the caller can assign the data.  It'll be helpful for avoiding the
double-free of the jack instance.
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 577c9c45
...@@ -50,6 +50,8 @@ struct snd_jack { ...@@ -50,6 +50,8 @@ struct snd_jack {
int type; int type;
const char *id; const char *id;
char name[100]; char name[100];
void *private_data;
void (*private_free)(struct snd_jack *);
}; };
#ifdef CONFIG_SND_JACK #ifdef CONFIG_SND_JACK
......
...@@ -35,6 +35,9 @@ static int snd_jack_dev_free(struct snd_device *device) ...@@ -35,6 +35,9 @@ static int snd_jack_dev_free(struct snd_device *device)
{ {
struct snd_jack *jack = device->device_data; struct snd_jack *jack = device->device_data;
if (jack->private_free)
jack->private_free(jack);
/* If the input device is registered with the input subsystem /* If the input device is registered with the input subsystem
* then we need to use a different deallocator. */ * then we need to use a different deallocator. */
if (jack->registered) if (jack->registered)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment