X-Git-Url: http://plrg.eecs.uci.edu/git/?p=firefly-linux-kernel-4.4.55.git;a=blobdiff_plain;f=drivers%2Fusb%2Fdwc_otg_310%2Fusbdev_rk3036.c;h=02dec704802250ce37e0ad48628d9a348ed32825;hp=5e49d800de65bd2ffefbf62b364a45d3f722982c;hb=9a47b6de548a83d198e2a92b53fe735c62832515;hpb=534c1ca9c257a81dd1b456f9244c1a1bfa0f7af7 diff --git a/drivers/usb/dwc_otg_310/usbdev_rk3036.c b/drivers/usb/dwc_otg_310/usbdev_rk3036.c index 5e49d800de65..02dec7048022 100755 --- a/drivers/usb/dwc_otg_310/usbdev_rk3036.c +++ b/drivers/usb/dwc_otg_310/usbdev_rk3036.c @@ -182,15 +182,18 @@ static void dwc_otg_uart_mode(void *pdata, int enter_usb_uart_mode) static void usb20otg_power_enable(int enable) { if (0 == enable) { - rk_battery_charger_detect_cb(USB_OTG_POWER_OFF); /* disable otg_drv power */ if (gpio_is_valid(control_usb->otg_gpios->gpio)) gpio_set_value(control_usb->otg_gpios->gpio, 0); + + rk_battery_charger_detect_cb(USB_OTG_POWER_OFF); } else if (1 == enable) { - rk_battery_charger_detect_cb(USB_OTG_POWER_ON); /* enable otg_drv power */ if (gpio_is_valid(control_usb->otg_gpios->gpio)) gpio_set_value(control_usb->otg_gpios->gpio, 1); + + if (!usb20otg_get_status(USB_STATUS_BVABLID)) + rk_battery_charger_detect_cb(USB_OTG_POWER_ON); } } static void usb20otg_phy_power_down(int power_down)