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_rk3126.c;h=bd3991183b728ec290a8a39e0883be7ff49aeca0;hp=ad005cbee57059b082cefdc1862c26716618ebfa;hb=ec42359f2660cfd0afa81c4e38b9e3695a1828a0;hpb=44f48d3af93111f35d3ed95005448ab4afa45695 diff --git a/drivers/usb/dwc_otg_310/usbdev_rk3126.c b/drivers/usb/dwc_otg_310/usbdev_rk3126.c index ad005cbee570..bd3991183b72 100755 --- a/drivers/usb/dwc_otg_310/usbdev_rk3126.c +++ b/drivers/usb/dwc_otg_310/usbdev_rk3126.c @@ -191,15 +191,17 @@ 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); + else if (usb20otg_get_status(USB_STATUS_BVABLID)) + 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); + else 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)