STM USBHALHost: Fix NULL pointer dereference

On STM32F746G Discovery boards, the USB OTG HS port does not have a
dedicated GPIO for controlling the USB VBUS.

This change fixes HardFault (NULL pointer dereference) that triggered
when such USB host port was used.
pull/10952/head
Tomasz Moń 2019-05-24 11:56:23 +02:00 committed by Arto Kinnunen
parent d40c529320
commit b9490b8541
1 changed files with 11 additions and 4 deletions

View File

@ -122,10 +122,17 @@ static gpio_t gpio_powerpin;
void usb_vbus(uint8_t state)
{
if (state == 0) {
gpio_write(&gpio_powerpin, USB_POWER_OFF);
} else {
gpio_write(&gpio_powerpin, USB_POWER_ON);
if (gpio_powerpin.reg_set && gpio_powerpin.reg_clr)
{
if (state == 0) {
gpio_write(&gpio_powerpin, USB_POWER_OFF);
} else {
gpio_write(&gpio_powerpin, USB_POWER_ON);
}
}
else
{
/* The board does not have GPIO pin to control usb supply */
}
wait(0.2);
}