diff --git a/drivers/usb/gadget/function/f_gsi.c b/drivers/usb/gadget/function/f_gsi.c index fda01d234681..79688d192e72 100644 --- a/drivers/usb/gadget/function/f_gsi.c +++ b/drivers/usb/gadget/function/f_gsi.c @@ -38,7 +38,8 @@ static inline bool usb_gsi_remote_wakeup_allowed(struct usb_function *f) struct f_gsi *gsi = func_to_gsi(f); if (f->config->cdev->gadget->speed >= USB_SPEED_SUPER) - remote_wakeup_allowed = gsi->func_wakeup_allowed; + remote_wakeup_allowed = + gsi->func_is_suspended ? gsi->func_wakeup_allowed : false; else remote_wakeup_allowed = usb_get_remote_wakeup_status(f->config->cdev->gadget);