diff options
author | Stephan Gerhold <stephan.gerhold@linaro.org> | 2025-04-07 16:59:36 +0200 |
---|---|---|
committer | Mattijs Korpershoek <mkorpershoek@kernel.org> | 2025-04-23 09:50:52 +0200 |
commit | 22b5aad20ae0f17bd9617fb9c10ddb38d2b91920 (patch) | |
tree | 797eef571395d0be13830c8ed75d2ca9a577b442 | |
parent | eeef1223025c68bd546a1f9411bdcdf518f8cb97 (diff) |
usb: gadget: f_acm: Allow restarting ACM console after stopping it
When using IOMUX, the "usbacm" console can be added/removed dynamically
from the stdout/stderr/stdin environment variables to allow temporarily
starting other USB gadgets (e.g. Fastboot).
However, right now acm_stdio_stop() does not completely undo
acm_stdio_start(): The USB gadget is unregistered, but as long as dev->priv
stays set acm_stdio_start() will never register the USB gadget again.
Clear dev->priv after we detach to make sure a start operation after a stop
operation registers the gadget again.
Fixes: fc2b399ac03b ("usb: gadget: Add CDC ACM function")
Signed-off-by: Stephan Gerhold <stephan.gerhold@linaro.org>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
Link: https://lore.kernel.org/r/20250407-acm-fixes-v1-2-e3dcb592d6d6@linaro.org
Signed-off-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
-rw-r--r-- | drivers/usb/gadget/f_acm.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/usb/gadget/f_acm.c b/drivers/usb/gadget/f_acm.c index 2665fa4168f..8f7256069f5 100644 --- a/drivers/usb/gadget/f_acm.c +++ b/drivers/usb/gadget/f_acm.c @@ -663,6 +663,7 @@ static int acm_stdio_stop(struct stdio_dev *dev) { g_dnl_unregister(); g_dnl_clear_detach(); + dev->priv = NULL; return 0; } |