lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Sun, 12 Jul 2009 11:16:30 -0400 (EDT)
From:	Alan Stern <stern@...land.harvard.edu>
To:	"Michael S. Zick" <lkml@...ethan.org>
cc:	Oliver Neukum <oliver@...kum.org>, Jiri Kosina <jkosina@...e.cz>,
	<linux-kernel@...r.kernel.org>, <linux-usb@...r.kernel.org>
Subject: Re: uhci_hcd fails to off-line device/hub on error condition

On Sat, 11 Jul 2009, Michael S. Zick wrote:

> - - Megabytes of the same snipped - -
> uhci_hcd 0000:00:10.2: host controller process error, something bad happened!
> uhci_hcd 0000:00:10.1: host system error, PCI problems?
> uhci_hcd 0000:00:10.1: host controller process error, something bad happened!
> uhci_hcd 0000:00:10.2: host system error, PCI problems?
> uhci_hcd 0000:00:10.2: host controller process error, something bad happened!
> 
> - - driver can detect unexpected behavior sufficent to post the messages - -
> 
> uhci_hcd 0000:00:10.1: host system error, PCI problems?
> uhci_hcd 0000:00:10.1: host controller process error, something bad happened!
> 
> - - but never does anything about it - other than bitch - -

Yep.  The problem identified by those messages is supposed to be very
rare -- they mean that the PCI bus is overloaded and consequently the
USB controller wasn't able to transfer the data it needed sufficiently
rapidly.  (Except in your case, where they really mean that something
is wrong with the hardware.  But how can the kernel be expected to
realize this?)

The driver doesn't do anything about it because there's nothing to be
done.  Bus overloads are very rare and quickly go away by themselves.  
It isn't a fatal error.

Now, I suppose we could add a test for badly misbehaving hardware.  
You can do it yourself: In drivers/usb/host/uhci-hcd.c, find the big
"if" statement in uhci_irq() that tests for any unexpected bits in
the "status" variable.  Try printing out the value of status; if it
turns out to be 0xffff then we can detect your problem and take the
controller offline.

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ