On Mon, 7 Sep 2015, Roland Weber wrote: > Hi Alan, > > just a quick heads-up before I go to sleep, > more detailed info to follow later this week. > The freeze is triggered from hcd.c, function usb_remove_hcd: > > /* Prevent any more root-hub status calls from the timer. > * The HCD might still restart the timer (if a port status change > * interrupt occurs), but usb_hcd_poll_rh_status() won't invoke > * the hub_status_data() callback. > */ > hcd->rh_pollable = 0; > clear_bit(HCD_FLAG_POLL_RH, &hcd->flags); > del_timer_sync(&hcd->rh_timer); > > // I see output from here > printk(KERN_INFO "usb_remove_hcd five\n"); > > hcd->driver->stop(hcd); > hcd->state = HC_STATE_HALT; > > /* In case the HCD restarted the timer, stop it again. */ > clear_bit(HCD_FLAG_POLL_RH, &hcd->flags); > del_timer_sync(&hcd->rh_timer); > > // this point is not reached > printk(KERN_INFO "usb_remove_hcd six\n");
In theory the freeze could happen during the second del_timer_sync. But I think it is much more likely to occur during hcd->driver->stop; that would be consistent with the probing-order bug you observed. > There was a lot of noise on the screen, but I saw output > from release_devnum with index 2, then with index 1. > Then follows the freeze. If you could give me a hint where > hcd->driver->stop(hcd); > might point to, I can track it further down. It points to ehci_stop() in host/ehci-hcd.c. > > Hmmm, I just took a look at the code. Something I had forgotten about > > was added recently; a table of devices that ehci-pci should ignore. If > > you add your device to that list, ehci-pci won't bind to it. See > > bypass_pci_id_table in drivers/usb/host/ehci-pci.c. Of course, that > > also will involve rebuilding part of the kernel... > > Thanks, that's good to know. At the moment, I'm still tracking the freeze > in the codebase of the first "bad" commit. Would it be better to switch > to a more recent kernel already? If so, which one would you suggest? I suggest using the 4.2 kernel, just because it is the most recent. The ehci-hcd driver hasn't changed very much recently, however, so it probably doesn't matter a lot. Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html