aboutsummaryrefslogtreecommitdiffstats
path: root/sound/drivers
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 /sound/drivers
parenta6c07367f2ccb25a96a76ba26c8a2d54f9469ecc (diff)
downloadkernel_samsung_smdk4412-ad308321f9f96de08e776deb8ad16e9ff87276eb.zip
kernel_samsung_smdk4412-ad308321f9f96de08e776deb8ad16e9ff87276eb.tar.gz
kernel_samsung_smdk4412-ad308321f9f96de08e776deb8ad16e9ff87276eb.tar.bz2
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>
Diffstat (limited to 'sound/drivers')
-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 946a0cb..e6ad8d4 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;
}