The two patches that follow add support for changing interface alternate settings on devices under xHCI. Since the xHCI scheduler is in hardware, the xHC needs to know when endpoint characteristics change. If the new alternate interface setting takes up too much bandwidth, the xHC can reject it. Therefore we need to change the xHC's internal state before sending the USB_REQ_SET_INTERFACE command to the device. If that command fails due to electrical noise, we need to reset the xHC's internal state to the old alt setting. I'm not quite sure how to handle the race condition I described in the second patch. Thoughts on that would be appreciated. I've tested this on multi-TT hubs. I don't think I have any other devices that require alternate settings. Sarah -- 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