lkml.org 
[lkml]   [2020]   [Apr]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH v2 0/4] usb: gadget: serial: add supend resume support
Date
This series handles an issue seen when doing basic testing using ACM or SERIAL
gadget functions like in [1], and using the DWC2 gadget driver. It occurs when
the HOST has suspended the bus before testing, in this order:
- On the device:
cat /dev/ttyGS<Y>
Dmesg error log is seen on device side:
configfs-gadget gadget: acm ttyGS0 can't notify serial state, -11
- On the host:
echo test > /dev/ttyACM<X>
The bus resumes, but the serial link isn't functional.

So, implement suspend/resume callbacks in gadget serial drivers to handle this.
There is a precursor patch in DWC2 to enable submitting usb requests from the
gadget resume routine, once in L0 state.

[1] https://www.kernel.org/doc/html/latest/usb/gadget-testing.html#testing-the-acm-function

Changes in v2:
- update dwc2 with Minas suggestions

Fabrice Gasnier (4):
usb: dwc2: gadget: move gadget resume after the core is in L0 state
usb: gadget: u_serial: add suspend resume callbacks
usb: gadget: f_serial: add suspend resume callbacks
usb: gadget: f_acm: add suspend resume callbacks

drivers/usb/dwc2/core_intr.c | 7 +++--
drivers/usb/gadget/function/f_acm.c | 16 ++++++++++
drivers/usb/gadget/function/f_serial.c | 16 ++++++++++
drivers/usb/gadget/function/u_serial.c | 57 +++++++++++++++++++++++++++++-----
drivers/usb/gadget/function/u_serial.h | 2 ++
5 files changed, 88 insertions(+), 10 deletions(-)

--
2.7.4

\
 
 \ /
  Last update: 2020-04-23 13:57    [W:0.079 / U:0.732 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site