On Thu, 18 Sep 2014, Lu Baolu wrote: > Hi Greg and Alan, > > Do you have any comments for this patch? > > I was working on system suspend/resume on T100 tablet. I found once the > T100 base station keyboard has been stroked, system will not be able to > enter freeze or S3 mode. > > I narrowed down this issue as "keyboard generates spurious remote wakeup > as soon as usb_enable_remote_wakeup() is called". It happens in below > function. > > int usb_port_suspend(struct usb_device *udev, pm_message_t msg) > > [... skipped several lines ...] > > if (udev->do_remote_wakeup) { > status = usb_enable_remote_wakeup(udev); > if (status) { > dev_dbg(&udev->dev, "won't remote wakeup, > status %d\n", > status); > /* bail if autosuspend is requested */ > if (PMSG_IS_AUTO(msg)) > goto err_wakeup; > } > } > > I have tried below cases: > > 1. disable usb-auto-suspend > 2. turn off remote wakeup through power/wakeup > 3. tried various other keyboards with or without external hubs > > It turns out that this is a device specific failure. I developed below > patch to add a device quirk. Once this quirk is set, usb core will > ignore the remote wake up capability. > > Is this quirk doable? What's your opinions? It's okay with me. Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> -- 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