2012-11-05 14:36:22 |
John Lindgren |
description |
This is a somewhat complex problem and seems to be the combination of two separate bugs, one present in 12.04 (kernel 3.2.0-32-generic) and another new in 12.10 (kernel 3.5.0-17-generic). The problem is seen when unplugging an Encore Electronics ENPUH-302 ExpressCard-to-USB adaptor, with a generic USB thumb drive attached, from a 64-bit Intel Atom system.
On 12.04, I see this message logged 20 seconds after removing the card: "xhci_hcd 0000:0b:00.0: Timeout while waiting for configure endpoint command". If I plug the card in again during that 20 seconds, it is not recognized (dmesg says only "pciehp 0000:00:1c.3:pcie04: Card present on Slot(35)").
On 12.10, the problem is worse. The same message ("Timeout while waiting ...") is logged 20 seconds after removing the card. If I plug the card in again during that 20 seconds, I see an additional message that was not printed in 12.04: "pciehp 0000:00:1c.3:pcie04: >Device 0000:0b:00.0 already exists at 0000:0b:00, cannot hot-add". If I then unplug the card, the kernel dumps a crash report (a page fault triggered by pci_stop_bus_device()) to the screen and the system freezes.
Attached are the following logs:
12.04/dmesg-boot.log: dmesg output when booting system with (Ubuntu 12.04)
12.04/dmesg-insert.log: dmesg output when plugging ExpressCard in-out-in-out (Ubuntu 12.04)
12.04/lspci-out.log: "lspci -tv" output without ExpressCard inserted (Ubuntu 12.04)
12.04/lspci-in.log: "lspci -tv" output with ExpressCard inserted (Ubuntu 12.04)
12.10/dmesg-boot.log: dmesg output when booting system with (Ubuntu 12.10)
12.10/dmesg-insert.log: dmesg output when plugging ExpressCard in-out-in (Ubuntu 12.10)
12.10/lspci-out.log: "lspci -tv" output without ExpressCard inserted (Ubuntu 12.10)
12.10/lspci-in.log: "lspci -tv" output with ExpressCard inserted (Ubuntu 12.10)
12.10/kernel-dump.png: snapshot of monitor showing kernel crash dump (Ubuntu 12.10)
The testing system is the following Kontron COM on a custom board:
http://us.kontron.com/products/computeronmodules/com+express/com+express+compact/comecpv2.html
Let me know if you need any more info.
John Lindgren |
This is a somewhat complex problem and seems to be the combination of two separate bugs, one present in 12.04 (kernel 3.2.0-32-generic) and another new in 12.10 (kernel 3.5.0-17-generic). The problem is seen when unplugging an Encore Electronics ENPUH-302 ExpressCard-to-USB adaptor, with a generic USB thumb drive attached, from a 64-bit Intel Atom system.
On 12.04, I see this message logged 20 seconds after removing the card: "xhci_hcd 0000:0b:00.0: Timeout while waiting for configure endpoint command". If I plug the card in again during that 20 seconds, it is not recognized (dmesg says only "pciehp 0000:00:1c.3:pcie04: Card present on Slot(35)").
On 12.10, the problem is worse. The same message ("Timeout while waiting ...") is logged 20 seconds after removing the card. If I plug the card in again during that 20 seconds, I see an additional message that was not printed in 12.04: "pciehp 0000:00:1c.3:pcie04: >Device 0000:0b:00.0 already exists at 0000:0b:00, cannot hot-add". If I then unplug the card, the kernel dumps a crash report (a page fault triggered by pci_stop_bus_device()) to the screen and the system freezes.
Attached are the following logs:
12.04/dmesg-boot.log: dmesg output when booting system with (Ubuntu 12.04)
12.04/dmesg-insert.log: dmesg output when plugging ExpressCard in-out-in-out (Ubuntu 12.04)
12.04/lspci-out.log: "lspci -tv" output without ExpressCard inserted (Ubuntu 12.04)
12.04/lspci-in.log: "lspci -tv" output with ExpressCard inserted (Ubuntu 12.04)
12.10/dmesg-boot.log: dmesg output when booting system with (Ubuntu 12.10)
12.10/dmesg-insert.log: dmesg output when plugging ExpressCard in-out-in (Ubuntu 12.10)
12.10/lspci-out.log: "lspci -tv" output without ExpressCard inserted (Ubuntu 12.10)
12.10/lspci-in.log: "lspci -tv" output with ExpressCard inserted (Ubuntu 12.10)
12.10/kernel-dump.png: snapshot of monitor showing kernel crash dump (Ubuntu 12.10)
The testing system is the following Kontron COM on a custom board:
http://us.kontron.com/products/computeronmodules/com+express/com+express+compact/comecpv2.html
Let me know if you need any more info.
John Lindgren
---
Architecture: amd64
DistroRelease: Ubuntu 12.10
MarkForUpload: True
Package: linux (not installed)
ProcEnviron:
TERM=xterm
PATH=(custom, no user)
Uname: Linux 3.5.0-17-generic x86_64
UserGroups: |
|