Someone broke USB
Hans Petter Selasky
hps at selasky.org
Sun Jul 7 18:28:01 UTC 2019
On 2019-07-07 18:58, Hans Petter Selasky wrote:
> On 2019-07-07 18:54, Steve Kargl wrote:
>> This a 7720 line, 262KB file, do you want me to send it
>> to you in private email or put in my home directory on
>> freefall (i.e.,kargl at freefall.freebsd.org).
>
> Send it to the people CC'ed, except the list.
>
Hi,
I'm wondering if there is a race by default, that wee need to explore
the root HUBs in a certain order?
Can you try to reverse the order in usb_needs_explore_all() in
sys/dev/usb and put a pause("W", hz); call between each iteration?
--HPS
> void
> usb_needs_explore_all(void)
> {
> struct usb_bus *bus;
> devclass_t dc;
> device_t dev;
> int max;
>
> DPRINTFN(3, "\n");
>
> dc = usb_devclass_ptr;
> if (dc == NULL) {
> DPRINTFN(0, "no devclass\n");
> return;
> }
> /*
> * Explore all USB buses in parallel.
> */
> max = devclass_get_maxunit(dc);
> while (max >= 0) {
> dev = devclass_get_device(dc, max);
> if (dev) {
> bus = device_get_softc(dev);
> if (bus) {
> usb_needs_explore(bus, 1);
> }
> }
> max--;
> }
> }
More information about the freebsd-current
mailing list