aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2013-11-14 15:45:12 +0100
committerBen Hutchings <ben@decadent.org.uk>2014-01-03 04:33:21 +0000
commitad308321f9f96de08e776deb8ad16e9ff87276eb (patch)
tree3ea00ee948b8874ddf534ec09e207bf27b95434e
parenta6c07367f2ccb25a96a76ba26c8a2d54f9469ecc (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>
-rw-r--r--sound/drivers/pcsp/pcsp.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/drivers/pcsp/pcsp.c b/sound/drivers/pcsp/pcsp.c
index 946a0cb996a..e6ad8d434f8 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;
}