Loading drivers/usb/dwc3/dwc3-msm.c +12 −12 Original line number Original line Diff line number Diff line Loading @@ -3241,26 +3241,15 @@ static void dwc3_resume_work(struct work_struct *w) goto skip_update; goto skip_update; } } dwc->maximum_speed = dwc->max_hw_supp_speed; /* Check speed and Type-C polarity values in order to configure PHY */ /* Check speed and Type-C polarity values in order to configure PHY */ if (edev && extcon_get_state(edev, extcon_id)) { if (edev && extcon_get_state(edev, extcon_id)) { dwc->maximum_speed = dwc->max_hw_supp_speed; ret = extcon_get_property(edev, extcon_id, ret = extcon_get_property(edev, extcon_id, EXTCON_PROP_USB_SS, &val); EXTCON_PROP_USB_SS, &val); if (!ret && val.intval == 0) if (!ret && val.intval == 0) dwc->maximum_speed = USB_SPEED_HIGH; dwc->maximum_speed = USB_SPEED_HIGH; if (mdwc->override_usb_speed && mdwc->override_usb_speed <= dwc->maximum_speed) { dwc->maximum_speed = mdwc->override_usb_speed; dwc->gadget.max_speed = dwc->maximum_speed; dbg_event(0xFF, "override_speed", mdwc->override_usb_speed); } dbg_event(0xFF, "speed", dwc->maximum_speed); ret = extcon_get_property(edev, extcon_id, ret = extcon_get_property(edev, extcon_id, EXTCON_PROP_USB_TYPEC_POLARITY, &val); EXTCON_PROP_USB_TYPEC_POLARITY, &val); if (ret) if (ret) Loading @@ -3273,6 +3262,17 @@ static void dwc3_resume_work(struct work_struct *w) } } skip_update: skip_update: dbg_log_string("max_speed:%d hw_supp_speed:%d override_speed:%d", dwc->maximum_speed, dwc->max_hw_supp_speed, mdwc->override_usb_speed); if (mdwc->override_usb_speed && mdwc->override_usb_speed <= dwc->maximum_speed) { dwc->maximum_speed = mdwc->override_usb_speed; dwc->gadget.max_speed = dwc->maximum_speed; } dbg_event(0xFF, "speed", dwc->maximum_speed); /* /* * Skip scheduling sm work if no work is pending. When boot-up * Skip scheduling sm work if no work is pending. When boot-up * with USB cable connected, usb state m/c is skipped to avoid * with USB cable connected, usb state m/c is skipped to avoid Loading Loading
drivers/usb/dwc3/dwc3-msm.c +12 −12 Original line number Original line Diff line number Diff line Loading @@ -3241,26 +3241,15 @@ static void dwc3_resume_work(struct work_struct *w) goto skip_update; goto skip_update; } } dwc->maximum_speed = dwc->max_hw_supp_speed; /* Check speed and Type-C polarity values in order to configure PHY */ /* Check speed and Type-C polarity values in order to configure PHY */ if (edev && extcon_get_state(edev, extcon_id)) { if (edev && extcon_get_state(edev, extcon_id)) { dwc->maximum_speed = dwc->max_hw_supp_speed; ret = extcon_get_property(edev, extcon_id, ret = extcon_get_property(edev, extcon_id, EXTCON_PROP_USB_SS, &val); EXTCON_PROP_USB_SS, &val); if (!ret && val.intval == 0) if (!ret && val.intval == 0) dwc->maximum_speed = USB_SPEED_HIGH; dwc->maximum_speed = USB_SPEED_HIGH; if (mdwc->override_usb_speed && mdwc->override_usb_speed <= dwc->maximum_speed) { dwc->maximum_speed = mdwc->override_usb_speed; dwc->gadget.max_speed = dwc->maximum_speed; dbg_event(0xFF, "override_speed", mdwc->override_usb_speed); } dbg_event(0xFF, "speed", dwc->maximum_speed); ret = extcon_get_property(edev, extcon_id, ret = extcon_get_property(edev, extcon_id, EXTCON_PROP_USB_TYPEC_POLARITY, &val); EXTCON_PROP_USB_TYPEC_POLARITY, &val); if (ret) if (ret) Loading @@ -3273,6 +3262,17 @@ static void dwc3_resume_work(struct work_struct *w) } } skip_update: skip_update: dbg_log_string("max_speed:%d hw_supp_speed:%d override_speed:%d", dwc->maximum_speed, dwc->max_hw_supp_speed, mdwc->override_usb_speed); if (mdwc->override_usb_speed && mdwc->override_usb_speed <= dwc->maximum_speed) { dwc->maximum_speed = mdwc->override_usb_speed; dwc->gadget.max_speed = dwc->maximum_speed; } dbg_event(0xFF, "speed", dwc->maximum_speed); /* /* * Skip scheduling sm work if no work is pending. When boot-up * Skip scheduling sm work if no work is pending. When boot-up * with USB cable connected, usb state m/c is skipped to avoid * with USB cable connected, usb state m/c is skipped to avoid Loading