Hub TT reset code causes ehci failure

Hans Petter Selasky hselasky at c2i.net
Tue Jun 14 07:16:37 UTC 2011


On Tuesday 14 June 2011 07:11:28 Trevor Blackwell wrote:
> I'm seeing the USB system halt with:
> 
> Jun 13 21:36:13 qb132 kernel: ehci_interrupt: unrecoverable error,
> controller halted
> 
> I hadn't seen this before on any of our systems until I installed the
> hub_tt_hardening patch.
> 
> The flag set is EHCI_STS_HSE, meaning:
> 
> Host System Error  R/WC. The Host Controller sets this bit to 1 when a
> serious error
> occurs during a host system access involving the Host Controller module. 
> In a PCI
> system, conditions that set this bit to 1 include PCI Parity error, PCI
> Master Abort, and
> PCI Target Abort. When this error occurs, the Host Controller clears the
> Run/Stop bit in
> the Command register to prevent further execution of the scheduled TDs.
> 
> 
> Can "PCI Target Abort" be caused by an invalid memory address?
> 
> That USB bus is busy. There are 3 hubs including the root and 5 devices on
> that USB bus. 4 of the devices have active bulk read transactions, and one
> is an audio devices with bidirectional isoc transactions.
> 
> Here's the complete register dump it prints:

Hi,

I'm not sure.

Try to enable UHUB debugging:

sysctl hw.usb.uhub.debug=15

Do you see that same behaviour with the patch I made?

--HPS


More information about the freebsd-usb mailing list