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"); 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. > 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? thanks and cheers, Roland -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html