Skip to content
  • Benjamin Berg's avatar
    synaptics: Implement suspend/resume methods · 5c89bda7
    Benjamin Berg authored
    We only allow suspending while we are in the interrupt transfer stage.
    To suspend, we cancel the interrupt transfer and at resume time we
    restart it.
    
    This has been tested to work correctly on an X1 Carbon 8th Gen with
    suspend mode set to "Windows 10" (i.e. S0ix [s2idle] and not S3 [suspend
    to RAM]). With S3 suspend, the USB root hub appears to be turned off or
    reset and the device will be unresponsive afterwards (if it returns). To
    avoid issues, libfprint disables the "persist" mode in the kernel and
    we'll see a new device instead after resume.
    5c89bda7