ALSA: mpu401: Fix missing initialization of irq field
authorTakashi Iwai <tiwai@suse.de>
Mon, 23 Jul 2012 09:35:55 +0000 (11:35 +0200)
committerTakashi Iwai <tiwai@suse.de>
Wed, 25 Jul 2012 12:04:04 +0000 (14:04 +0200)
The irq field of struct snd_mpu401 is supposed to be initialized to -1.
Since it's set to zero as of now, a probing error before the irq
installation results in a kernel warning "Trying to free already-free
IRQ 0".

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=44821
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/drivers/mpu401/mpu401_uart.c

index 1cff331..4608c2c 100644 (file)
@@ -554,6 +554,7 @@ int snd_mpu401_uart_new(struct snd_card *card, int device,
        spin_lock_init(&mpu->output_lock);
        spin_lock_init(&mpu->timer_lock);
        mpu->hardware = hardware;
+       mpu->irq = -1;
        if (! (info_flags & MPU401_INFO_INTEGRATED)) {
                int res_size = hardware == MPU401_HW_PC98II ? 4 : 2;
                mpu->res = request_region(port, res_size, "MPU401 UART");