summaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2013-11-14 15:45:12 +0100
committerTakashi Iwai <tiwai@suse.de>2013-11-14 15:50:10 +0100
commit6408eac2665955343cd0e4bcd7d6237ce39611ed (patch)
treea1df2191353c5fbe5595487faab4951bd43e84da /sound
parent44832a71f377d9eae1d97afedad4d0d6d51fc485 (diff)
downloadlinux-6408eac2665955343cd0e4bcd7d6237ce39611ed.tar.gz
linux-6408eac2665955343cd0e4bcd7d6237ce39611ed.tar.bz2
linux-6408eac2665955343cd0e4bcd7d6237ce39611ed.zip
ALSA: pcsp: Fix the order of input device unregistration
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. Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound')
-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 f664bae3b9b0..328bd29264ce 100644
--- a/sound/drivers/pcsp/pcsp.c
+++ b/sound/drivers/pcsp/pcsp.c
@@ -188,8 +188,8 @@ static int pcsp_probe(struct platform_device *dev)
static int 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);
return 0;
}