On Wed, 6 Jun 2012, Richard Zhao wrote: > It still has below limitations: > - it does not work for multi-phy ehci > - the best place is after debounce, but I can't get > phy there > + /* FIXME: > + * - it does not work for multi-phy ehci > + * - the best place is after debounce, but I can't get > + * phy there > + */ > + if (unlikely(ehci->transceiver && > + (pstatus & PORT_CSC))) { A new thought... If you move the transceiver pointer from struct ehci_hcd to struct usb_hcd, then you _will_ be able to get at it from within the debouncing routine. Or if you prefer, leave the pointer where it is and add a method to struct hc_driver for retrieving the pointer. Alan Stern -- 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