Am Friday 30 January 2009 16:26:31 schrieb Alan Stern:
> > Taking an extra reference to the pci device doesn't help.
> > What is to be done?
>
> Are you sure you really understand the nature of the problem?
You are right, I overlooked a very important detail. I was looking at
two controllers. Here the log of the ejection:
Feb 2 12:06:15 linux-daoy kernel: pcmcia_socket pcmcia_socket0: pccard: card
ejected from slot 0
Feb 2 12:06:15 linux-daoy kernel: ohci_hcd 0000:03:00.0: remove, state 4
Feb 2 12:06:15 linux-daoy kernel: ohci_hcd 0000:03:00.0: roothub graceful
disconnect
Feb 2 12:06:15 linux-daoy kernel: usb usb6: USB disconnect, address 1
Feb 2 12:06:15 linux-daoy kernel: usb usb6: unregistering device
Feb 2 12:06:15 linux-daoy kernel: usb usb6: usb_disable_device nuking all URBs
Feb 2 12:06:15 linux-daoy kernel: usb usb6: unregistering interface 6-0:1.0
Feb 2 12:06:15 linux-daoy kernel: usb 6-0:1.0: uevent
Feb 2 12:06:15 linux-daoy kernel: usb usb6: uevent
Feb 2 12:06:15 linux-daoy kernel: ohci_hcd 0000:03:00.0: OHCI controller state
Feb 2 12:06:15 linux-daoy kernel: ohci_hcd 0000:03:00.0: OHCI 3.15, NO legacy
support registers
Feb 2 12:06:15 linux-daoy kernel: ohci_hcd 0000:03:00.0: control 0xffffffff
RWE RWC IR HCFS=suspend BLE CLE IE PLE CBSR=3
Feb 2 12:06:15 linux-daoy kernel: ohci_hcd 0000:03:00.0: cmdstatus 0xffffffff
SOC=3 OCR BLF CLF HCR
Feb 2 12:06:15 linux-daoy kernel: ohci_hcd 0000:03:00.0: intrstatus 0xffffffff
MIE OC RHSC FNO UE RD SF WDH SO
Feb 2 12:06:15 linux-daoy kernel: ohci_hcd 0000:03:00.0: intrenable 0xffffffff
MIE OC RHSC FNO UE RD SF WDH SO
Feb 2 12:06:15 linux-daoy kernel: ohci_hcd 0000:03:00.0: ed_periodcurrent
ffffffff
Feb 2 12:06:15 linux-daoy kernel: ohci_hcd 0000:03:00.0: ed_controlhead
ffffffff
Feb 2 12:06:15 linux-daoy kernel: ohci_hcd 0000:03:00.0: ed_controlcurrent
ffffffff
Feb 2 12:06:15 linux-daoy kernel: ohci_hcd 0000:03:00.0: ed_bulkhead ffffffff
Feb 2 12:06:15 linux-daoy kernel: ohci_hcd 0000:03:00.0: ed_bulkcurrent
ffffffff
Feb 2 12:06:15 linux-daoy kernel: ohci_hcd 0000:03:00.0: donehead ffffffff
Feb 2 12:06:15 linux-daoy kernel: ohci_hcd 0000:03:00.0: hcca frame #044e
Feb 2 12:06:15 linux-daoy kernel: ohci_hcd 0000:03:00.0: USB bus 6 deregistered
First controller gone.
Feb 2 12:06:15 linux-daoy kernel: ohci_hcd 0000:03:00.0: PCI INT A disabled
Interrupt shut down.
Feb 2 12:06:15 linux-daoy kernel: ohci_hcd 0000:03:00.1: remove, state 1
Feb 2 12:06:15 linux-daoy kernel: ohci_hcd 0000:03:00.1: roothub graceful
disconnect
Feb 2 12:06:15 linux-daoy kernel: usb usb7: USB disconnect, address 1
Feb 2 12:06:15 linux-daoy kernel: usb 7-1: USB disconnect, address 2
Feb 2 12:06:15 linux-daoy kernel: usb 7-1: unregistering device
Feb 2 12:06:15 linux-daoy kernel: usb 7-1: usb_disable_device nuking all URBs
Feb 2 12:06:15 linux-daoy kernel: ohci_hcd 0000:03:00.1: shutdown urb f61a0b40
ep1in-intr
The second controller is being shut down and hangs in usb_kill_urb(), as
the interrupt is never delivered. A sysrq-t trace confirms that:
Feb 2 10:50:13 linux-daoy kernel: pccardctl D 0000002d 0 3494 3457
Feb 2 10:50:13 linux-daoy kernel: ec0e3d40 00000082 4603a759 0000002d
f6100580 ec0e3ca8 c0431078 c0508804
Feb 2 10:50:13 linux-daoy kernel: c050b600 c050b600 c050b600 ec0e3cd8
f6002e90 f60030f0 c1806600 00000001
Feb 2 10:50:13 linux-daoy kernel: 461143c4 0000002d ec0e3cdc c0116ec9
ec0e3cec 00000286 f61b0cec f61b0c00
Feb 2 10:50:13 linux-daoy kernel: Call Trace:
Feb 2 10:50:13 linux-daoy kernel: [<c0116ec9>] ?
default_spin_lock_flags+0x8/0xb
Feb 2 10:50:13 linux-daoy kernel: [<f8151749>] ? ohci_urb_dequeue+0xb3/0xbe
[ohci_hcd]
Feb 2 10:50:13 linux-daoy kernel: [<c01f5062>] ? kobject_put+0x37/0x3c
Feb 2 10:50:13 linux-daoy kernel: [<c0116ec9>] ?
default_spin_lock_flags+0x8/0xb
Feb 2 10:50:13 linux-daoy kernel: [<f80393e0>] ? usb_put_dev+0xf/0x11
[usbcore]
Feb 2 10:50:13 linux-daoy kernel: [<c01390fc>] ? prepare_to_wait+0x43/0x48
Feb 2 10:50:13 linux-daoy kernel: [<f803fa74>] usb_kill_urb+0x86/0xa3
[usbcore]
Feb 2 10:50:13 linux-daoy kernel: [<c0138fab>] ?
autoremove_wake_function+0x0/0x33
Feb 2 10:50:13 linux-daoy kernel: [<f803e5b0>]
usb_hcd_flush_endpoint+0x170/0x18a [usbcore]
Feb 2 10:50:13 linux-daoy kernel: [<f804036c>] usb_disable_endpoint+0x3c/0x49
[usbcore]
Feb 2 10:50:13 linux-daoy kernel: [<f80403da>] usb_disable_device+0x61/0x125
[usbcore]
Feb 2 10:50:13 linux-daoy kernel: [<f803bd45>] usb_disconnect+0xa2/0x118
[usbcore]
Feb 2 10:50:13 linux-daoy kernel: [<f803bd21>] usb_disconnect+0x7e/0x118
[usbcore]
Feb 2 10:50:13 linux-daoy kernel: [<f803dc30>] usb_remove_hcd+0xaa/0x102
[usbcore]
Feb 2 10:50:13 linux-daoy kernel: [<f80483bd>] usb_hcd_pci_remove+0x18/0x87
[usbcore]
Feb 2 10:50:13 linux-daoy kernel: [<c0204c81>] pci_device_remove+0x19/0x39
Feb 2 10:50:13 linux-daoy kernel: [<c02669c9>]
__device_release_driver+0x61/0x7e
Feb 2 10:50:13 linux-daoy kernel: [<c0266a97>] device_release_driver+0x1b/0x26
Feb 2 10:50:13 linux-daoy kernel: [<c026625d>] bus_remove_device+0x75/0x8f
Feb 2 10:50:13 linux-daoy kernel: [<c0264fe5>] device_del+0xf1/0x148
Feb 2 10:50:13 linux-daoy kernel: [<c0265047>] device_unregister+0xb/0x15
Feb 2 10:50:13 linux-daoy kernel: [<c02010e7>] pci_stop_dev+0x23/0x2d
Feb 2 10:50:13 linux-daoy kernel: [<c02011ac>] pci_remove_bus_device+0x2b/0x93
Feb 2 10:50:13 linux-daoy kernel: [<c0201230>]
pci_remove_behind_bridge+0x1c/0x30
Feb 2 10:50:13 linux-daoy kernel: [<f7f831f3>] cb_free+0x3b/0x3f [pcmcia_core]
Feb 2 10:50:13 linux-daoy kernel: [<f7f80527>] socket_shutdown+0x77/0xd7
[pcmcia_core]
Feb 2 10:50:13 linux-daoy kernel: [<f7f806d4>] socket_remove+0x32/0x3c
[pcmcia_core]
Feb 2 10:50:13 linux-daoy kernel: [<f7f80720>] pcmcia_eject_card+0x42/0x50
[pcmcia_core]
Feb 2 10:50:13 linux-daoy kernel: [<f7f82dcd>] pccard_store_eject+0x1d/0x26
[pcmcia_core]
Feb 2 10:50:13 linux-daoy kernel: [<f7f82db0>] ? pccard_store_eject+0x0/0x26
[pcmcia_core]
Feb 2 10:50:13 linux-daoy kernel: [<c02644c5>] dev_attr_store+0x1b/0x23
Feb 2 10:50:13 linux-daoy kernel: [<c01c6333>] sysfs_write_file+0xb0/0xdb
Feb 2 10:50:13 linux-daoy kernel: [<c01c6283>] ? sysfs_write_file+0x0/0xdb
Feb 2 10:50:13 linux-daoy kernel: [<c0189568>] vfs_write+0x8c/0x136
Feb 2 10:50:13 linux-daoy kernel: [<c018772b>] ? do_sys_open+0xb3/0xbd
Feb 2 10:50:13 linux-daoy kernel: [<c01896ab>] sys_write+0x3b/0x60
Feb 2 10:50:13 linux-daoy kernel: [<c01031eb>] sysenter_do_call+0x12/0x2f
At this point it looks like a generic PCI, not a USB problem.
Regards
Oliver
_______________________________________________
Linux PCMCIA reimplementation list
http://lists.infradead.org/mailman/listinfo/linux-pcmcia