Re: [PATCH v2 1/1] USB: Add device quirk for ASUS T100 Base Station keyboard

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux