USB Sound oops in Linus's latest tree
Hi,
I'm getting the following oops with my USB sound device using Linus's latest tree of the moment, which has the sound tree pull in it. Anyone seen this before?
thanks,
greg k-h
[ +0.002298] input: Schiit Audio USB Modi Device as /devices/pci0000:00/0000:00:14.0/usb2/2-10/2-10.1/2-10.1:1.2/0003:0D8C:1319.0001/input/input17 [ +0.000056] hid-generic 0003:0D8C:1319.0001: input,hidraw0: USB HID v1.00 Device [Schiit Audio USB Modi Device] on usb-0000:00:14.0-10.1/input2 [ +0.008749] BUG: unable to handle kernel NULL pointer dereference at 0000000000000014 [ +0.001151] IP: [<ffffffffc0e79921>] usb_audio_probe+0x1e1/0x8f0 [snd_usb_audio] [ +0.001142] PGD 0 [ +0.001114] Oops: 0000 [#1] PREEMPT SMP [ +0.001115] Modules linked in: snd_usb_audio(+) hid_generic snd_usbmidi_lib usbhid snd_rawmidi snd_seq_device hid media arc4 fuse btusb btrtl btbcm btintel bluetooth rt2800usb rt2x00usb rt2800lib rt2x00lib mac80211 crc_ccitt cfg80211 rfkill nls_cp437 vfat fat iTCO_wdt iTCO_vendor_support mxm_wmi x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel kvm irqbypass crct10dif_pclmul crct10dif_common crc32_pclmul crc32c_intel ghash_clmulni_intel aesni_intel aes_x86_64 glue_helper lrw gf128mul ablk_helper cryptd psmouse serio_raw pcspkr firewire_ohci firewire_core crc_itu_t xhci_pci ehci_pci xhci_hcd ehci_hcd mei_me usbcore mei lpc_ich mfd_core usb_common wmi evdev ip_tables x_tables [ +0.004079] CPU: 4 PID: 615 Comm: systemd-udevd Not tainted 4.6.0-rc1+ #103 [ +0.001382] Hardware name: / , BIOS KLZ8711D.86A.0457.2015.0713.1319 07/13/2015 [ +0.001387] task: ffff880098ec0e00 ti: ffff880251920000 task.ti: ffff880251920000 [ +0.001417] RIP: 0010:[<ffffffffc0e79921>] [<ffffffffc0e79921>] usb_audio_probe+0x1e1/0x8f0 [snd_usb_audio] [ +0.001414] RSP: 0018:ffff880251923af0 EFLAGS: 00010246 [ +0.001409] RAX: 0000000000000000 RBX: ffff88024d602000 RCX: 0000000000000000 [ +0.001404] RDX: ffff880254e0b340 RSI: ffff8802559b99f8 RDI: ffffffff82181030 [ +0.001413] RBP: ffff880251923b50 R08: 0000000000019d00 R09: ffffffff81385837 [ +0.001431] R10: ffffea0009461200 R11: ffff880253b3fe72 R12: 0000000000000000 [ +0.001411] R13: 0000000000000000 R14: 0000000000000001 R15: ffff88025338c212 [ +0.001436] FS: 00007f7a8db567c0(0000) GS:ffff88025fb00000(0000) knlGS:0000000000000000 [ +0.001431] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ +0.001445] CR2: 0000000000000014 CR3: 0000000251854000 CR4: 00000000001406e0 [ +0.001451] Stack: [ +0.001433] ffff880253302e88 ffff88024d602054 ffff88009879d000 ffff880253302e88 [ +0.001480] ffff880255f7e000 386430425355d030 ff00393133313a63 ffff8800984f4098 [ +0.001466] ffff8800984f4000 ffffffffc0e95728 ffff88009879d030 ffffffffc0e955a0 [ +0.001497] Call Trace: [ +0.001295] [<ffffffffc0067cfd>] usb_probe_interface+0x1bd/0x300 [usbcore] [ +0.001427] [<ffffffff815987e9>] driver_probe_device+0x249/0x450 [ +0.001400] [<ffffffff81598a74>] __driver_attach+0x84/0x90 [ +0.001398] [<ffffffff815989f0>] ? driver_probe_device+0x450/0x450 [ +0.001417] [<ffffffff815963e4>] bus_for_each_dev+0x64/0xa0 [ +0.001369] [<ffffffff81597ede>] driver_attach+0x1e/0x20 [ +0.001396] [<ffffffff815979ab>] bus_add_driver+0x1eb/0x280 [ +0.001365] [<ffffffff81599390>] driver_register+0x60/0xe0 [ +0.001369] [<ffffffffc0066834>] usb_register_driver+0x84/0x140 [usbcore] [ +0.001422] [<ffffffffc0e9d000>] ? 0xffffffffc0e9d000 [ +0.001370] [<ffffffffc0e9d01e>] usb_audio_driver_init+0x1e/0x20 [snd_usb_audio] [ +0.001472] [<ffffffff8100211b>] do_one_initcall+0xab/0x1d0 [ +0.001547] [<ffffffff8115e732>] do_init_module+0x5f/0x1cd [ +0.001469] [<ffffffff810f9ec8>] load_module+0x1368/0x1510 [ +0.001542] [<ffffffff810f75d0>] ? symbol_put_addr+0x50/0x50 [ +0.001468] [<ffffffff810fa2a8>] SyS_finit_module+0xc8/0xf0 [ +0.001451] [<ffffffff81003c6e>] do_syscall_64+0x5e/0xc0 [ +0.001538] [<ffffffff817fb425>] entry_SYSCALL64_slow_path+0x25/0x25 [ +0.001397] Code: f8 01 00 44 89 e6 48 89 df e8 dc 73 00 00 85 c0 89 c1 0f 88 99 00 00 00 48 8b 7b 10 e8 c9 0b 80 c0 85 c0 89 c1 0f 88 86 00 00 00 <41> 80 7d 14 00 0f 85 90 04 00 00 48 63 03 48 89 1c c5 40 90 e9 [ +0.001513] RIP [<ffffffffc0e79921>] usb_audio_probe+0x1e1/0x8f0 [snd_usb_audio] [ +0.001468] RSP <ffff880251923af0> [ +0.001576] CR2: 0000000000000014 [ +0.010610] ---[ end trace c9cdd61401b8f1d9 ]---
Quoted 5 lines · Greg KH
Hi,
I'm getting the following oops with my USB sound device using Linus's latest tree of the moment, which has the sound tree pull in it. Anyone seen this before?
Yes, and a fix is on its way:
Thank you,
Nicolai
Quoted 54 lines
[ +0.002298] input: Schiit Audio USB Modi Device as /devices/pci0000:00/0000:00:14.0/usb2/2-10/2-10.1/2-10.1:1.2/0003:0D8C:1319.0001/input/input17 [ +0.000056] hid-generic 0003:0D8C:1319.0001: input,hidraw0: USB HID v1.00 Device [Schiit Audio USB Modi Device] on usb-0000:00:14.0-10.1/input2 [ +0.008749] BUG: unable to handle kernel NULL pointer dereference at 0000000000000014 [ +0.001151] IP: [<ffffffffc0e79921>] usb_audio_probe+0x1e1/0x8f0 [snd_usb_audio] [ +0.001142] PGD 0 [ +0.001114] Oops: 0000 [#1] PREEMPT SMP[ +0.001115] Modules linked in:
snd_usb_audio(+)hid_genericsnd_usbmidi_libusbhidsnd_rawmidisnd_seq_devicehid media arc4 fuse btusb btrtl btbcm btintel bluetooth rt2800usb rt2x00usb rt2800lib rt2x00lib mac80211crc_ccittcfg80211 rfkillnls_cp437vfat fatiTCO_wdtiTCO_vendor_supportmxm_wmix86_pkg_temp_thermalintel_powerclampcoretempkvm_intelkvm irqbypasscrct10dif_pclmulcrct10dif_commoncrc32_pclmulcrc32c_intelghash_clmulni_intelaesni_intelaes_x86_64glue_helperlrw gf128mulablk_helpercryptd psmouseserio_rawpcspkrfirewire_ohcifirewire_corecrc_itu_txhci_pciehci_pcixhci_hcdehci_hcdmei_meusbcore meilpc_ichmfd_coreusb_commonwmi evdevip_tablesx_tables[ +0.004079] CPU: 4 PID: 615 Comm: systemd-udevd Not tainted 4.6.0-rc1+ #103 [ +0.001382] Hardware name: / , BIOS KLZ8711D.86A.0457.2015.0713.1319 07/13/2015 [ +0.001387] task: ffff880098ec0e00 ti: ffff880251920000 task.ti: ffff880251920000 [ +0.001417] RIP: 0010:[<ffffffffc0e79921>] [<ffffffffc0e79921>] usb_audio_probe+0x1e1/0x8f0 [snd_usb_audio] [ +0.001414] RSP: 0018:ffff880251923af0 EFLAGS: 00010246 [ +0.001409] RAX: 0000000000000000 RBX: ffff88024d602000 RCX: 0000000000000000 [ +0.001404] RDX: ffff880254e0b340 RSI: ffff8802559b99f8 RDI: ffffffff82181030 [ +0.001413] RBP: ffff880251923b50 R08: 0000000000019d00 R09: ffffffff81385837 [ +0.001431] R10: ffffea0009461200 R11: ffff880253b3fe72 R12: 0000000000000000 [ +0.001411] R13: 0000000000000000 R14: 0000000000000001 R15: ffff88025338c212 [ +0.001436] FS: 00007f7a8db567c0(0000) GS:ffff88025fb00000(0000) knlGS:0000000000000000 [ +0.001431] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ +0.001445] CR2: 0000000000000014 CR3: 0000000251854000 CR4: 00000000001406e0 [ +0.001451] Stack: [ +0.001433] ffff880253302e88 ffff88024d602054 ffff88009879d000 ffff880253302e88 [ +0.001480] ffff880255f7e000 386430425355d030 ff00393133313a63 ffff8800984f4098 [ +0.001466] ffff8800984f4000 ffffffffc0e95728 ffff88009879d030 ffffffffc0e955a0 [ +0.001497] Call Trace: [ +0.001295] [<ffffffffc0067cfd>] usb_probe_interface+0x1bd/0x300 [usbcore] [ +0.001427] [<ffffffff815987e9>] driver_probe_device+0x249/0x450 [ +0.001400] [<ffffffff81598a74>] __driver_attach+0x84/0x90 [ +0.001398] [<ffffffff815989f0>] ? driver_probe_device+0x450/0x450 [ +0.001417] [<ffffffff815963e4>] bus_for_each_dev+0x64/0xa0 [ +0.001369] [<ffffffff81597ede>] driver_attach+0x1e/0x20 [ +0.001396] [<ffffffff815979ab>] bus_add_driver+0x1eb/0x280 [ +0.001365] [<ffffffff81599390>] driver_register+0x60/0xe0 [ +0.001369] [<ffffffffc0066834>] usb_register_driver+0x84/0x140 [usbcore] [ +0.001422] [<ffffffffc0e9d000>] ? 0xffffffffc0e9d000 [ +0.001370] [<ffffffffc0e9d01e>] usb_audio_driver_init+0x1e/0x20 [snd_usb_audio] [ +0.001472] [<ffffffff8100211b>] do_one_initcall+0xab/0x1d0 [ +0.001547] [<ffffffff8115e732>] do_init_module+0x5f/0x1cd [ +0.001469] [<ffffffff810f9ec8>] load_module+0x1368/0x1510 [ +0.001542] [<ffffffff810f75d0>] ? symbol_put_addr+0x50/0x50 [ +0.001468] [<ffffffff810fa2a8>] SyS_finit_module+0xc8/0xf0 [ +0.001451] [<ffffffff81003c6e>] do_syscall_64+0x5e/0xc0 [ +0.001538] [<ffffffff817fb425>] entry_SYSCALL64_slow_path+0x25/0x25
Quoted 8 lines
[ +0.001397] Code: f8 01 00 44 89 e6 48 89 df e8 dc 73 00 00 85 c0 89 c1 0f 88 99 00 00 00 48 8b 7b 10 e8 c9 0b 80 c0 85 c0 89 c1 0f 88 86 00 00 00 <41> 80 7d 14 00 0f 85 90 04 00 00 48 63 03 48 89 1c c5 40 90 e9
[ +0.001513] RIP [<ffffffffc0e79921>] usb_audio_probe+0x1e1/0x8f0 [snd_usb_audio] [ +0.001468] RSP <ffff880251923af0> [ +0.001576] CR2: 0000000000000014 [ +0.010610] ---[ end trace c9cdd61401b8f1d9 ]---
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Quoted 6 lines · Greg KH
Hi,
I'm getting the following oops with my USB sound device using Linus's latest tree of the moment, which has the sound tree pull in it. Anyone seen this before?
Hi Greg,
Nicolai Stange sent in a fix for this problem - I can't find the link to this. It is coming in through Linux Media tree.
thanks,
-- Shuah
The patch:
With commit
aebb2b89bff0 ("[media] sound/usb: Use Media Controller API to share
media resources")
an access to quirk->media_device without checking for quirk != NULL has been introduced in usb_audio_probe().
With a Plantronics USB headset (device ID 0x047f:0xc010) attached, this results in the following splat at boot time:
BUG: unable to handle kernel NULL pointer dereference at 0000000000000014
IP: [<ffffffffa089aa6c>] usb_audio_probe+0x2cc/0x9a0 [snd_usb_audio]
Oops: 0000 [#1] SMP
[...]
CPU: 2 PID: 696 Comm: systemd-udevd Not tainted 4.5.0-next-20160315 #13
Hardware name: Dell Inc. Latitude E6540/0725FP, BIOS A10 06/26/2014
task: ffff88021c88d7c0 ti: ffff88003d5b0000 task.ti: ffff88003d5b0000
RIP: 0010:[<ffffffffa089aa6c>] [<ffffffffa089aa6c>]
usb_audio_probe+0x2cc/0x9a0 [snd_usb_audio]
[...]
Call Trace:
[<ffffffff815a8e16>] usb_probe_interface+0x136/0x2d0
[<ffffffff81509edc>] driver_probe_device+0x22c/0x440
[<ffffffff8150a1c1>] __driver_attach+0xd1/0xf0
[<ffffffff8150a0f0>] ? driver_probe_device+0x440/0x440
[<ffffffff815077ec>] bus_for_each_dev+0x6c/0xc0
[<ffffffff815095ce>] driver_attach+0x1e/0x20
[<ffffffff81509013>] bus_add_driver+0x1c3/0x280
[<ffffffff8150ab10>] driver_register+0x60/0xe0
[<ffffffff815a7711>] usb_register_driver+0x81/0x140
[<ffffffffa08c7000>] ? 0xffffffffa08c7000
[<ffffffffa08c701e>] usb_audio_driver_init+0x1e/0x1000 [snd_usb_audio]
[<ffffffff81002123>] do_one_initcall+0xb3/0x1f0
[<ffffffff811fb091>] ? __vunmap+0x81/0xd0
[<ffffffff8121b8d2>] ? kmem_cache_alloc_trace+0x182/0x1d0
[<ffffffff811b0267>] ? do_init_module+0x27/0x1d8
[<ffffffff811b029f>] do_init_module+0x5f/0x1d8
[<ffffffff8112ce35>] load_module+0x1fe5/0x27a0
[<ffffffff81129870>] ? __symbol_put+0x60/0x60
[<ffffffff81241690>] ? vfs_read+0x110/0x130
[<ffffffff8112d866>] SYSC_finit_module+0xe6/0x120
[<ffffffff8112d8be>] SyS_finit_module+0xe/0x10
[<ffffffff81003d94>] do_syscall_64+0x64/0x110
[<ffffffff817c0b61>] entry_SYSCALL64_slow_path+0x25/0x25After encountering this, the system-udevd process seems to be blocked until it is killed when hitting its timeout of 3min.
In analogy to the other accesses to members of quirk in usb_audio_probe(), check for quirk != NULL before accessing its ->media_device.
media resources")
---
Applicable to linux-next-20160315.
sound/usb/card.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
sound/usb/card.c +1 -1
@@ -612,7 +612,7 @@ static int usb_audio_probe(struct usb_interface *intf,if (err <0 ) goto __error; -if (quirk->media_device) { +if (quirk && quirk->media_device) {/* don't want to fail when media_snd_device_create() fails */ media_snd_device_create (chip, intf); }
Signature · 1 line
2.7.2
Quoted 41 lines
[ +0.002298] input: Schiit Audio USB Modi Device as /devices/pci0000:00/0000:00:14.0/usb2/2-10/2-10.1/2-10.1:1.2/0003:0D8C:1319.0001/input/input17 [ +0.000056] hid-generic 0003:0D8C:1319.0001: input,hidraw0: USB HID v1.00 Device [Schiit Audio USB Modi Device] on usb-0000:00:14.0-10.1/input2 [ +0.008749] BUG: unable to handle kernel NULL pointer dereference at 0000000000000014 [ +0.001151] IP: [<ffffffffc0e79921>] usb_audio_probe+0x1e1/0x8f0 [snd_usb_audio] [ +0.001142] PGD 0 [ +0.001114] Oops: 0000 [#1] PREEMPT SMP [ +0.001115] Modules linked in: snd_usb_audio(+) hid_generic snd_usbmidi_lib usbhid snd_rawmidi snd_seq_device hid media arc4 fuse btusb btrtl btbcm btintel bluetooth rt2800usb rt2x00usb rt2800lib rt2x00lib mac80211 crc_ccitt cfg80211 rfkill nls_cp437 vfat fat iTCO_wdt iTCO_vendor_support mxm_wmi x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel kvm irqbypass crct10dif_pclmul crct10dif_common crc32_pclmul crc32c_intel ghash_clmulni_intel aesni_intel aes_x86_64 glue_helper lrw gf128mul ablk_helper cryptd psmouse serio_raw pcspkr firewire_ohci firewire_core crc_itu_t xhci_pci ehci_pci xhci_hcd ehci_hcd mei_me usbcore mei lpc_ich mfd_core usb_common wmi evdev ip_tables x_tables [ +0.004079] CPU: 4 PID: 615 Comm: systemd-udevd Not tainted 4.6.0-rc1+ #103 [ +0.001382] Hardware name: / , BIOS KLZ8711D.86A.0457.2015.0713.1319 07/13/2015 [ +0.001387] task: ffff880098ec0e00 ti: ffff880251920000 task.ti: ffff880251920000 [ +0.001417] RIP: 0010:[<ffffffffc0e79921>] [<ffffffffc0e79921>] usb_audio_probe+0x1e1/0x8f0 [snd_usb_audio] [ +0.001414] RSP: 0018:ffff880251923af0 EFLAGS: 00010246 [ +0.001409] RAX: 0000000000000000 RBX: ffff88024d602000 RCX: 0000000000000000 [ +0.001404] RDX: ffff880254e0b340 RSI: ffff8802559b99f8 RDI: ffffffff82181030 [ +0.001413] RBP: ffff880251923b50 R08: 0000000000019d00 R09: ffffffff81385837 [ +0.001431] R10: ffffea0009461200 R11: ffff880253b3fe72 R12: 0000000000000000 [ +0.001411] R13: 0000000000000000 R14: 0000000000000001 R15: ffff88025338c212 [ +0.001436] FS: 00007f7a8db567c0(0000) GS:ffff88025fb00000(0000) knlGS:0000000000000000 [ +0.001431] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ +0.001445] CR2: 0000000000000014 CR3: 0000000251854000 CR4: 00000000001406e0 [ +0.001451] Stack: [ +0.001433] ffff880253302e88 ffff88024d602054 ffff88009879d000 ffff880253302e88 [ +0.001480] ffff880255f7e000 386430425355d030 ff00393133313a63 ffff8800984f4098 [ +0.001466] ffff8800984f4000 ffffffffc0e95728 ffff88009879d030 ffffffffc0e955a0 [ +0.001497] Call Trace: [ +0.001295] [<ffffffffc0067cfd>] usb_probe_interface+0x1bd/0x300 [usbcore] [ +0.001427] [<ffffffff815987e9>] driver_probe_device+0x249/0x450 [ +0.001400] [<ffffffff81598a74>] __driver_attach+0x84/0x90 [ +0.001398] [<ffffffff815989f0>] ? driver_probe_device+0x450/0x450 [ +0.001417] [<ffffffff815963e4>] bus_for_each_dev+0x64/0xa0 [ +0.001369] [<ffffffff81597ede>] driver_attach+0x1e/0x20 [ +0.001396] [<ffffffff815979ab>] bus_add_driver+0x1eb/0x280 [ +0.001365] [<ffffffff81599390>] driver_register+0x60/0xe0 [ +0.001369] [<ffffffffc0066834>] usb_register_driver+0x84/0x140 [usbcore] [ +0.001422] [<ffffffffc0e9d000>] ? 0xffffffffc0e9d000 [ +0.001370] [<ffffffffc0e9d01e>] usb_audio_driver_init+0x1e/0x20 [snd_usb_audio] [ +0.001472] [<ffffffff8100211b>] do_one_initcall+0xab/0x1d0 [ +0.001547] [<ffffffff8115e732>] do_init_module+0x5f/0x1cd [ +0.001469] [<ffffffff810f9ec8>] load_module+0x1368/0x1510 [ +0.001542] [<ffffffff810f75d0>] ? symbol_put_addr+0x50/0x50
Quoted 8 lines
[ +0.001468] [<ffffffff810fa2a8>] SyS_finit_module+0xc8/0xf0 [ +0.001451] [<ffffffff81003c6e>] do_syscall_64+0x5e/0xc0 [ +0.001538] [<ffffffff817fb425>] entry_SYSCALL64_slow_path+0x25/0x25 [ +0.001397] Code: f8 01 00 44 89 e6 48 89 df e8 dc 73 00 00 85 c0 89 c1 0f 88 99 00 00 00 48 8b 7b 10 e8 c9 0b 80 c0 85 c0 89 c1 0f 88 86 00 00 00 <41> 80 7d 14 00 0f 85 90 04 00 00 48 63 03 48 89 1c c5 40 90 e9 [ +0.001513] RIP [<ffffffffc0e79921>] usb_audio_probe+0x1e1/0x8f0 [snd_usb_audio] [ +0.001468] RSP <ffff880251923af0> [ +0.001576] CR2: 0000000000000014 [ +0.010610] ---[ end trace c9cdd61401b8f1d9 ]---
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Quoted 11 lines · Nicolai Stange
Quoted 5 lines · Greg KH
Hi,
I'm getting the following oops with my USB sound device using Linus's latest tree of the moment, which has the sound tree pull in it. Anyone seen this before?
Yes, and a fix is on its way:
Ah, great, thanks for this.
greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Quoted 9 lines · Shuah Khan
Quoted 6 lines · Greg KH
Hi,
I'm getting the following oops with my USB sound device using Linus's latest tree of the moment, which has the sound tree pull in it. Anyone seen this before?
Quoted 4 lines
Hi Greg,
Nicolai Stange sent in a fix for this problem - I can't find the link to this. It is coming in through Linux Media tree.
Thanks, Nicolai sent a link, your inline patch was somehow corrupted :(
thanks,
greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html