Bug 5891

Summary: Regressions!!!Can't boot if usb enabled: "general protection fault: 0000"
Product: Drivers Reporter: Oleksij Rempel (fishor) (bug-track)
Component: USBAssignee: Greg Kroah-Hartman (greg)
Status: RESOLVED CODE_FIX    
Severity: normal CC: stern
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: 2.6.15-mm4 only. Subsystem:
Regression: --- Bisected commit-id:
Bug Depends on:    
Bug Blocks: 5089    
Attachments: minicom capture
lspci

Description Oleksij Rempel (fishor) 2006-01-14 15:06:32 UTC
Distribution:ubuntu breezy
Hardware Environment:USB Controller: Intel Corporation 82801G (ICH7 Family) USB
UHCI + EHCI


If usb enabled computer get this message and freez.

[  109.151745] ACPI: PCI Interrupt 0000:00:1d.7[A] -> GSI 20 (level, low) -> IRQ 50
[  109.249276] ehci_hcd 0000:00:1d.7: EHCI Host Controller
[  109.318070] ehci_hcd 0000:00:1d.7: debug port 1
[  109.395774] ehci_hcd 0000:00:1d.7: new USB bus registered, assigned bus number 5
[  109.493186] ehci_hcd 0000:00:1d.7: irq 50, io mem 0xcfdffc00
[  109.571571] ehci_hcd 0000:00:1d.7: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004
[  109.674468] usb usb5: configuration #1 chosen from 1 choice
[  109.750324] hub 5-0:1.0: USB hub found
[  109.811059] hub 5-0:1.0: 8 ports detected
[  109.863784] usb 2-1: USB disconnect, address 2
[  109.922265] general protection fault: 0000 [1]
[  109.981745] CPU 0
[  110.008046] Modules linked in: ehci_hcd snd_hda_intel snd_hda_codec
snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd snd_page_alloc nls_cp437 vfat
fat nls_utf8 ntfs unix
[  110.205881] Pid: 109, comm: khubd Not tainted 2.6.15-mm4 #1
[  110.279066] RIP: 0010:[<ffffffff8025aa65>] <ffffffff8025aa65>{device_del+57}
[  110.369406] RSP: 0018:ffff81003f45bda8  EFLAGS: 00010202
[  110.441450] RAX: 001c200000000004 RBX: ffff81003f4e0420 RCX:
0000000000000034[  110.535219] RDX: ffff81003f0b3ec8 RSI: ffffffff801d5edd RDI:
ffff81003f4e0420[  110.628989] RBP: ffff81003f5b9088 R08: 0000000000000000 R09:
ffff81003f45bcf8[  110.722760] R10: ffff81003f45a000 R11: ffff81003f4e0420 R12:
ffff81003f5b9000[  110.816530] R13: ffff81003f4e0420 R14: ffff81003f5b9c48 R15:
ffff81003f5b9800[  110.910301] FS:  0000000000000000(0000)
GS:ffffffff80517000(0000) knlGS:0000000000000000
[  111.016650] CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b
[  111.092124] CR2: 00002aaaaadf6a90 CR3: 000000003d280000 CR4:
00000000000006e0[  111.185895] Process khubd (pid: 109, threadinfo
ffff81003f45a000, task ffff81003f487730)
[  111.292241] Stack: ffff81003f0a1cc8 ffff81003f4e0400 0000000000000000
ffffffff802a0da3
[  111.395160]        ffff81003f45a000 ffff81003f5b9000 ffff81003f5b94c8
00000000ffffffff
[  111.500366]        0000000000000010 ffffffff8029bca3
[  111.566690] Call Trace: <ffffffff802a0da3>{usb_disable_device+133}
[  111.647883]        <ffffffff8029bca3>{usb_disconnect+147}
<ffffffff8029d959>{hub_thread+856}
[  111.758806]        <ffffffff8012000a>{sys32_uname+2}
<ffffffff8013acee>{autoremove_wake_function+0}
[  111.877734]        <ffffffff8013acee>{autoremove_wake_function+0}
<ffffffff8029d601>{hub_thread+0}
[  111.995518]        <ffffffff8013a8ae>{kthread+207}
<ffffffff80137ec7>{worker_thread+0}
[  112.099580]        <ffffffff8010f122>{child_rip+8}
<ffffffff80137ec7>{worker_thread+0}
[  112.203644]        <ffffffff8013a8da>{keventd_create_kthread+0}
<ffffffff8013a7df>{kthread+0}
[  112.315710]        <ffffffff8010f11a>{child_rip+0}
[  112.380892]
[  112.380892] Code: ff d0 48 89 df e8 76 0c 00 00 48 89 df 48 81 c3 d0 00 00 00
[  112.495245] RIP <ffffffff8025aa65>{device_del+57} RSP <ffff81003f45bda8>
[  112.583299]  BUG: khubd/109, lock held at task exit time!
[  112.654528]  [ffff81003f5b99f8] {device_initialize}
[  112.718564] .. held by:             khubd:  109 [ffff81003f487730, 110]
[  112.805466] ... acquired at:               locktree+0x25/0x70
Comment 1 Oleksij Rempel (fishor) 2006-01-14 15:07:52 UTC
Created attachment 7026 [details]
minicom capture
Comment 2 Oleksij Rempel (fishor) 2006-01-14 15:08:57 UTC
Created attachment 7027 [details]
lspci
Comment 3 Alan Stern 2006-01-15 08:34:34 UTC
It's entirely possible that this is not a USB problem.  I get the impression
that the fault occurred at the line in driver_del() where
platform_notify_remove() is called.  You can try commenting out that call, and
maybe sprinkling some printk statements throughout the region to see how if that
really is the problem.
Comment 4 Greg Kroah-Hartman 2006-01-16 10:21:09 UTC
Does this happen with 2.6.15 or 2.6.16-rc1?
Comment 5 Oleksij Rempel (fishor) 2006-01-16 12:49:17 UTC
> 2.6.16-rc1  
I don't know any thing about this kernel, is it already out?  
> 2.6.15 - 2.6.15-mm3 ? 
No. Only 2.6.15-mm4 
Comment 6 Greg Kroah-Hartman 2006-01-16 13:11:03 UTC
Will be in a day or so.

How about 2.6.15-git12?
Comment 7 Oleksij Rempel (fishor) 2006-01-17 05:26:58 UTC
Latest git or 2.6.16-rc1 is working. 
Comment 8 Greg Kroah-Hartman 2006-01-17 07:46:25 UTC
Great, marking closed then.