Skip to contentSkip to conversation

OHCI crash when handover fails

BUG Benjamin Herrenschmidt 2 participants 4 messages May 27, 2011 – Jun 3, 2011 1 message not in the archive

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): 1306454011.7481.529.camel@pasglop

#1 lore raw
Quoted 5 lines · Benjamin Herrenschmidt

Hi folks !

Current upstream, POWER7 machine running bare metal, there's no BIOS at all, so the whole handover failing thing is an oddity in the first place which I haven't tracked down yet, but it should cause that crash:

BTW. The same handover failure didn't cause a crash yesterday, so this is a regression that happened with whatever Linus pulled last night, I probably won't have a chance to bisect it tho for various reasons.

Cheers,
Ben.

Quoted 36 lines

ohci_hcd 0000:07:02.0: OHCI Host Controller
ohci_hcd 0000:07:02.0: new USB bus registered, assigned bus number 4 ohci_hcd 0000:07:02.0: USB HC takeover failed! (BIOS/SMM bug) ohci_hcd 0000:07:02.0: can't setup
ohci_hcd 0000:07:02.0: USB bus 4 deregistered

------------[ cut here ]------------
kernel BUG at /home/benh/linux-impreza/fs/dcache.c:419!
cpu 0x0: Vector: 700 (Program Check) at [c0000003dbb9b580]
    pc: c00000000014848c: .dput+0x50/0x26c
    lr: c00000000014847c: .dput+0x40/0x26c
    sp: c0000003dbb9b800
   msr: 9000000000029032
  current = 0xc0000003dbc6cec0
  paca    = 0xc00000000ff88000
    pid   = 2185, comm = work_for_cpu

kernel BUG at /home/benh/linux-impreza/fs/dcache.c:419! enter ? for help
[c0000003dbb9b800] c000000000148674 .dput+0x238/0x26c (unreliable) [c0000003dbb9b8a0] c0000000004bfd44 .fs_remove_file+0x278/0x2dc [c0000003dbb9b970] c0000000004c0374 .usbfs_notify+0x258/0x2e0 [c0000003dbb9ba20] c000000000602498 .notifier_call_chain+0x6c/0xe0 [c0000003dbb9bac0] c00000000008ffd4 .__blocking_notifier_call_chain +0x60/0x90
[c0000003dbb9bb70] c0000000004bde70 .usb_notify_remove_bus+0x24/0x3c [c0000003dbb9bbf0] c0000000004af760 .usb_deregister_bus+0x80/0xe0 [c0000003dbb9bc80] c0000000004b1274 .usb_add_hcd+0x6ec/0x750 [c0000003dbb9bd40] c0000000004bf284 .usb_hcd_pci_probe+0x1e0/0x2b0 [c0000003dbb9bde0] c000000000304ccc .local_pci_probe+0x34/0x48 [c0000003dbb9be50] c0000000000809ac .do_work_for_cpu+0x34/0x60 [c0000003dbb9bed0] c00000000008975c .kthread+0xb0/0xbc [c0000003dbb9bf90] c00000000001ce98 .kernel_thread+0x54/0x70 0:mon>

Cheers,
Ben.

#2 lore raw
Quoted 3 lines · * Benjamin Herrenschmidt | 2011-05-27 11:02:48 [+1000]:

BTW. The same handover failure didn't cause a crash yesterday, so this is a regression that happened with whatever Linus pulled last night, I probably won't have a chance to bisect it tho for various reasons.

Ben, this is probably fixed by
http://marc.info/?l=linux-fsdevel&m=130676974227377&w=2

Quoted 2 lines

Cheers,
Ben.

Sebastian

#3 lore raw
Quoted 8 lines · Sebastian Andrzej Siewior
Quoted 3 lines · * Benjamin Herrenschmidt | 2011-05-27 11:02:48 [+1000]:

BTW. The same handover failure didn't cause a crash yesterday, so this is a regression that happened with whatever Linus pulled last night, I probably won't have a chance to bisect it tho for various reasons.

Ben, this is probably fixed by
http://marc.info/?l=linux-fsdevel&m=130676974227377&w=2

Sorry for the delay testing, got bogged down by more 3.0-* regressions :-(

The patch does indeed fix the problem for me. I noticed that it's still not upstream tho :-) Can you send it to Linus asap ?

Cheers,
Ben.

#4 lore raw
Quoted 2 lines · * Benjamin Herrenschmidt | 2011-06-02 17:58:26 [+1000]:

The patch does indeed fix the problem for me. I noticed that it's still not upstream tho :-)

There is another version of the patch pending. I hope Greg picks it but he is in .jp as far as I can see on lwn so it may take a while.

Quoted 1 line

Can you send it to Linus asap ?

The problem should go away for you if you disable CONFIG_USB_DEVICEFS :) Nobody in userland should actually use this. udev and friends migrated to the /sys interface.

Quoted 2 lines

Cheers,
Ben.

Sebastian