Hello All, I'm currently having a USB class driver to control bus suspend/resume using autopm_get_interface and autopm_put_interface. This works fine until system wide suspend comes into the picture, which would suspend the bus again after the bus has already been suspended and resume the bus even the upper layer driver doesn't have anything to do. I would like to change usb_suspend and usb_resume function in drivers/usb/core/driver.c so that the variable udev->skip_sys_resume can take effect preventing system wide suspend from suspending and resuming the bus un-necessarily. But there is this comment in the usb_suspend function, /* If udev is already suspended, we can skip this suspend and * we should also skip the upcoming system resume. High-speed * root hubs are an exception; they need to resume whenever the * system wakes up in order for USB-PERSIST port handover to work * properly. */ if (udev->state == USB_STATE_SUSPENDED) { if (udev->parent || udev->speed != USB_SPEED_HIGH) udev->skip_sys_resume = 1; return 0; } My question is, if the host is connnecting to a high speed device, what would be the impact to remove the condition "udev->speed != USB_SPEED_HIGH" in this function? Thanks in advance, Fei -- 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