From: Guenter Roeck <li...@roeck-us.net> The ClearPortFeature control message fails for PORT_POWER because there is no break; at the end of the case statement, causing it to fall through to the failure handler. Add the missing break; to solve the problem.
Fixes: 1cc403eb21 ("usb-hub: emulate per port power switching") Signed-off-by: Guenter Roeck <li...@roeck-us.net> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Message-ID: <20241112170152.217664-11-li...@roeck-us.net> Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> (cherry picked from commit b2cc69997924b651c0c6f4037782e25f2e438715) Signed-off-by: Michael Tokarev <m...@tls.msk.ru> diff --git a/hw/usb/dev-hub.c b/hw/usb/dev-hub.c index 06e9537d03..2c3640c705 100644 --- a/hw/usb/dev-hub.c +++ b/hw/usb/dev-hub.c @@ -479,6 +479,7 @@ static void usb_hub_handle_control(USBDevice *dev, USBPacket *p, usb_hub_port_clear(port, PORT_STAT_SUSPEND); port->wPortChange = 0; } + break; default: goto fail; } -- 2.39.5