Commit bc733d49 authored by Takashi Iwai's avatar Takashi Iwai

ALSA: mpu401: Fix missing initialization of irq field

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: default avatarTakashi Iwai <tiwai@suse.de>
parent 6162552b
...@@ -554,6 +554,7 @@ int snd_mpu401_uart_new(struct snd_card *card, int device, ...@@ -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->output_lock);
spin_lock_init(&mpu->timer_lock); spin_lock_init(&mpu->timer_lock);
mpu->hardware = hardware; mpu->hardware = hardware;
mpu->irq = -1;
if (! (info_flags & MPU401_INFO_INTEGRATED)) { if (! (info_flags & MPU401_INFO_INTEGRATED)) {
int res_size = hardware == MPU401_HW_PC98II ? 4 : 2; int res_size = hardware == MPU401_HW_PC98II ? 4 : 2;
mpu->res = request_region(port, res_size, "MPU401 UART"); mpu->res = request_region(port, res_size, "MPU401 UART");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment