diff --git a/drivers/ftdi-gpio.c b/drivers/ftdi-gpio.c index 77e5384..95b9cb7 100644 --- a/drivers/ftdi-gpio.c +++ b/drivers/ftdi-gpio.c @@ -311,6 +311,9 @@ static void *ftdi_gpio_open(struct device *dev) if (ftdi_gpio->options->gpios[GPIO_POWER_KEY].present) dev->has_power_key = true; + if (ftdi_gpio->options->gpios[GPIO_OUTPUT_ENABLE].present) + ftdi_gpio_toggle_io(ftdi_gpio, GPIO_OUTPUT_ENABLE, 1); + ftdi_gpio_device_power(ftdi_gpio, 0); if (dev->usb_always_on) @@ -318,9 +321,6 @@ static void *ftdi_gpio_open(struct device *dev) else ftdi_gpio_device_usb(ftdi_gpio, 0); - if (ftdi_gpio->options->gpios[GPIO_OUTPUT_ENABLE].present) - ftdi_gpio_toggle_io(ftdi_gpio, GPIO_OUTPUT_ENABLE, 1); - usleep(500000); return ftdi_gpio;