• Fengguang Wu's avatar
    ALSA: es1688 - freeup resources on init failure · e5b35420
    Fengguang Wu authored
    This will fix the following oops:
    
    [    6.169981] genirq: Flags mismatch irq 5. 00000000 (ES1688) vs. 00000000 (ES1688)
    [    6.170851] Pid: 1, comm: swapper Not tainted 3.5.0-00004-gceee0e95 #14
    [    6.170851] Call Trace:
    [    6.170851]  [<c1062237>] ? __setup_irq+0x3c7/0x420
    [    6.170851]  [<c1062486>] ? request_threaded_irq+0x76/0x140
    [    6.170851]  [<c1290220>] ? snd_es1688_ioctl+0x10/0x10
    [    6.170851]  [<c10624c2>] ? request_threaded_irq+0xb2/0x140
    [    6.170851]  [<c1291196>] ? snd_es1688_create+0x96/0x330
    [    6.170851]  [<c138365d>] ? snd_gusextreme_probe+0x18d/0x5a2
    [    6.170851]  [<c11c9d80>] ? __driver_attach+0x80/0x80
    [    6.170851]  [<c10db22f>] ? sysfs_create_link+0xf/0x20
    [    6.170851]  [<c11c9d80>] ? __driver_attach+0x80/0x80
    [    6.170851]  [<c11d1502>] ? isa_bus_probe+0x12/0x20
    [    6.170851]  [<c11c9b95>] ? driver_probe_device+0x55/0x1c0
    [    6.170851]  [<c13ae04f>] ? _raw_spin_unlock+0xf/0x30
    [    6.170851]  [<c13705ea>] ? klist_next+0x6a/0xe0
    [    6.170851]  [<c11d15c1>] ? isa_bus_match+0x21/0x40
    [    6.170851]  [<c11c8a24>] ? bus_for_each_drv+0x34/0x70
    [    6.170851]  [<c11c9e4b>] ? device_attach+0x7b/0x90
    [    6.170851]  [<c11c9d80>] ? __driver_attach+0x80/0x80
    [    6.170851]  [<c11c8bff>] ? bus_probe_device+0x5f/0x80
    [    6.170851]  [<c11c7493>] ? device_add+0x573/0x620
    [    6.170851]  [<c1042820>] ? complete_all+0x40/0x60
    [    6.170851]  [<c13ae08a>] ? _raw_spin_unlock_irqrestore+0x1a/0x30
    [    6.170851]  [<c11d16c6>] ? isa_register_driver+0xb6/0x150
    [    6.170851]  [<c15c9002>] ? alsa_card_gusmax_init+0xf/0xf
    [    6.170851]  [<c15a99bc>] ? do_one_initcall+0x7f/0x12b
    [    6.170851]  [<c15a9b7a>] ? kernel_init+0x112/0x1a9
    [    6.170851]  [<c15a9423>] ? do_early_param+0x77/0x77
    [    6.170851]  [<c15a9a68>] ? do_one_initcall+0x12b/0x12b
    [    6.170851]  [<c13aefbe>] ? kernel_thread_helper+0x6/0xd
    [    6.190170] es1688: can't grab IRQ 5
    [    6.190613] genirq: Flags mismatch irq 5. 00000000 (ES1688) vs. 00000000 (ES1688)
    [    6.191566] Pid: 1, comm: swapper Not tainted 3.5.0-00004-gceee0e95 #14
    [    6.192394] Call Trace:
    [    6.192685]  [<c1062237>] ? __setup_irq+0x3c7/0x420
    [    6.193342]  [<c1062486>] ? request_threaded_irq+0x76/0x140
    [    6.194081]  [<c1290220>] ? snd_es1688_ioctl+0x10/0x10
    [    6.194607]  [<c10624c2>] ? request_threaded_irq+0xb2/0x140
    [    6.194607]  [<c1291196>] ? snd_es1688_create+0x96/0x330
    [    6.194607]  [<c138365d>] ? snd_gusextreme_probe+0x18d/0x5a2
    [    6.194607]  [<c11c9d80>] ? __driver_attach+0x80/0x80
    [    6.194607]  [<c10db22f>] ? sysfs_create_link+0xf/0x20
    [    6.194607]  [<c11c9d80>] ? __driver_attach+0x80/0x80
    [    6.194607]  [<c11d1502>] ? isa_bus_probe+0x12/0x20
    [    6.194607]  [<c11c9b95>] ? driver_probe_device+0x55/0x1c0
    [    6.194607]  [<c13ae04f>] ? _raw_spin_unlock+0xf/0x30
    [    6.194607]  [<c13705ea>] ? klist_next+0x6a/0xe0
    [    6.194607]  [<c11d15c1>] ? isa_bus_match+0x21/0x40
    [    6.194607]  [<c11c8a24>] ? bus_for_each_drv+0x34/0x70
    [    6.194607]  [<c11c9e4b>] ? device_attach+0x7b/0x90
    [    6.194607]  [<c11c9d80>] ? __driver_attach+0x80/0x80
    [    6.194607]  [<c11c8bff>] ? bus_probe_device+0x5f/0x80
    [    6.194607]  [<c11c7493>] ? device_add+0x573/0x620
    [    6.194607]  [<c1042820>] ? complete_all+0x40/0x60
    [    6.194607]  [<c13ae08a>] ? _raw_spin_unlock_irqrestore+0x1a/0x30
    [    6.194607]  [<c11d16c6>] ? isa_register_driver+0xb6/0x150
    [    6.194607]  [<c15c9002>] ? alsa_card_gusmax_init+0xf/0xf
    [    6.194607]  [<c15a99bc>] ? do_one_initcall+0x7f/0x12b
    [    6.194607]  [<c15a9b7a>] ? kernel_init+0x112/0x1a9
    [    6.194607]  [<c15a9423>] ? do_early_param+0x77/0x77
    [    6.194607]  [<c15a9a68>] ? do_one_initcall+0x12b/0x12b
    [    6.194607]  [<c13aefbe>] ? kernel_thread_helper+0x6/0xd
    [    6.210779] es1688: can't grab IRQ 5
    [    6.211305] gusextreme: probe of gusextreme.0 failed with error -16
    Signed-off-by: default avatarDaniel Mack <zonque@gmail.com>
    Signed-off-by: default avatarFengguang Wu <fengguang.wu@intel.com>
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    e5b35420
es1688.h 3.55 KB