ALSA: pcsp: Fix the order of input device unregistration
authorTakashi Iwai <tiwai@suse.de>
Thu, 14 Nov 2013 14:45:12 +0000 (15:45 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 29 Nov 2013 19:27:58 +0000 (11:27 -0800)
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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
sound/drivers/pcsp/pcsp.c

index 1c19cd7ad26e76af7c71b6615ae291aeed42faf7..83b8a9a9163e638bb2d56d6fc032a2e1436bdbb8 100644 (file)
@@ -187,8 +187,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;
 }