diff options
author | Takashi Iwai <tiwai@suse.de> | 2013-11-14 15:45:12 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-04-14 06:44:31 -0700 |
commit | 296d59e61f0da68c408a47d48d61bfcc6dbfe8c4 (patch) | |
tree | fe2f6d2b6414695f659a97794e025eca07735dd7 /sound | |
parent | a8d5c053a4082f3681f2e3d509e90ac95a973f9c (diff) |
ALSA: pcsp: Fix the order of input device unregistration
commit 6408eac2665955343cd0e4bcd7d6237ce39611ed upstream.
The current code may access to the already freed object. The input
device must be accessed and unregistered before freeing the top level
sound object.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
[bwh: Backported to 3.2: adjust context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Cc: Weng Meiling <wengmeiling.weng@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/drivers/pcsp/pcsp.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/drivers/pcsp/pcsp.c b/sound/drivers/pcsp/pcsp.c index 99704e6a2e2..7ab67412007 100644 --- a/sound/drivers/pcsp/pcsp.c +++ b/sound/drivers/pcsp/pcsp.c @@ -187,8 +187,8 @@ static int __devinit pcsp_probe(struct platform_device *dev) static int __devexit pcsp_remove(struct platform_device *dev) { struct snd_pcsp *chip = platform_get_drvdata(dev); - alsa_card_pcsp_exit(chip); pcspkr_input_remove(chip->input_dev); + alsa_card_pcsp_exit(chip); platform_set_drvdata(dev, NULL); return 0; } |