On 11/29/24 1:46 PM, Patrice Chotard wrote:
In case "ums" command is used on platforms which don't implement
g_dnl_board_usb_cable_connected() and USB cable is not connected,
we stay inside sleep_thread() forever and watchdog is triggered.

Add schedule() call to avoid this issue.

Signed-off-by: Patrice Chotard <patrice.chot...@foss.st.com>
---

  drivers/usb/gadget/f_mass_storage.c | 1 +
  1 file changed, 1 insertion(+)

diff --git a/drivers/usb/gadget/f_mass_storage.c 
b/drivers/usb/gadget/f_mass_storage.c
index ffe1ae6eb73..6dc73ef447b 100644
--- a/drivers/usb/gadget/f_mass_storage.c
+++ b/drivers/usb/gadget/f_mass_storage.c
@@ -680,6 +680,7 @@ static int sleep_thread(struct fsg_common *common)
                                return -EIO;
k = 0;
+                       schedule();
                }
dm_usb_gadget_handle_interrupts(udcdev);

Shouldn't that schedule() be placed right before/after dm_usb_gadget_handle_interrupts() ?

Reply via email to