From 456a371f114c758bf6ad89e7053387c1b0e0d258 Mon Sep 17 00:00:00 2001 From: Elson Roy Serrao Date: Tue, 9 Feb 2021 15:11:15 -0800 Subject: [PATCH] usb: function: Clear function suspend related flags on config reset Clear function suspend and remote wakeup related flags upon config reset to restore the initial state. Change-Id: I5178a9d5a37c301b97dc0ba9047cdb37725c0020 Signed-off-by: Elson Roy Serrao --- drivers/usb/gadget/function/f_cdev.c | 2 ++ drivers/usb/gadget/function/f_gsi.c | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/drivers/usb/gadget/function/f_cdev.c b/drivers/usb/gadget/function/f_cdev.c index 2b52f86a6072..406faecb555a 100644 --- a/drivers/usb/gadget/function/f_cdev.c +++ b/drivers/usb/gadget/function/f_cdev.c @@ -583,6 +583,8 @@ static void usb_cser_disable(struct usb_function *f) "port(%s) deactivated\n", port->name); usb_cser_disconnect(port); + port->func_is_suspended = false; + port->func_wakeup_allowed = false; port->func_wakeup_pending = false; usb_ep_disable(port->port_usb.notify); port->port_usb.notify->driver_data = NULL; diff --git a/drivers/usb/gadget/function/f_gsi.c b/drivers/usb/gadget/function/f_gsi.c index 57f6c6af6f92..78939a61b1a0 100644 --- a/drivers/usb/gadget/function/f_gsi.c +++ b/drivers/usb/gadget/function/f_gsi.c @@ -2596,6 +2596,11 @@ static void gsi_disable(struct usb_function *f) /* send 0 len pkt to qti/qbi/gps to notify state change */ gsi_ctrl_send_cpkt_tomodem(gsi, NULL, 0); gsi->c_port.notify_req_queued = false; + + gsi->func_is_suspended = false; + gsi->func_wakeup_allowed = false; + gsi->func_wakeup_pending = false; + /* Disable Data Path - only if it was initialized already (alt=1) */ if (!gsi->data_interface_up) { log_event_dbg("%s: data intf is closed", __func__);