• Fabrice Gasnier's avatar
    usb: gadget: u_serial: add suspend resume callbacks · aba3a8d0
    Fabrice Gasnier authored
    Add suspend resume callbacks to handle the case seen when the bus is
    suspended by the HOST, and the device opens the port (cat /dev/ttyGS0).
    
    Gadget controller (like DWC2) doesn't accept usb requests to be queued in
    this case (when in L2 state), from the gs_open() call. Error log is printed
    - configfs-gadget gadget: acm ttyGS0 can't notify serial state, -11
    If the HOST resumes (opens) the bus, the port still isn't functional.
    
    Use suspend/resume callbacks to monitor the gadget suspended state by using
    'suspended' flag. In case the port gets opened (cat /dev/ttyGS0), the I/O
    stream will be delayed until the bus gets resumed by the HOST.
    Signed-off-by: default avatarFabrice Gasnier <fabrice.gasnier@st.com>
    Signed-off-by: default avatarFelipe Balbi <balbi@kernel.org>
    aba3a8d0
u_serial.c 36.3 KB