hi Thinh, do you prefer below change ? will it be good for all cases ? +static void dwc3_gadget_update_link_state(struct dwc3 *dwc, + const struct dwc3_event_devt *event) +{ + switch (event->type) { + case DWC3_DEVICE_EVENT_HIBER_REQ: + case DWC3_DEVICE_EVENT_LINK_STATUS_CHANGE: + case DWC3_DEVICE_EVENT_SUSPEND: + break; + default: + dwc->link_state = event->event_info & DWC3_LINK_STATE_MASK; + break; + } +} + static void dwc3_gadget_interrupt(struct dwc3 *dwc, const struct dwc3_event_devt *event) { + dwc3_gadget_update_link_state(dwc3, event); + switch (event->type)