summary refs log tree commit diff stats
path: root/hw/usb/dev-hub.c
diff options
context:
space:
mode:
authorGuenter Roeck <linux@roeck-us.net>2024-11-12 09:01:52 -0800
committerPhilippe Mathieu-Daudé <philmd@linaro.org>2024-11-18 13:36:39 +0100
commitb2cc69997924b651c0c6f4037782e25f2e438715 (patch)
tree4fbc7bd52a392c6775e23505f98dcaf8ccd03e41 /hw/usb/dev-hub.c
parentfdc2294ac91c24d22ee58b12be803011a94e84c6 (diff)
downloadfocaccia-qemu-b2cc69997924b651c0c6f4037782e25f2e438715.tar.gz
focaccia-qemu-b2cc69997924b651c0c6f4037782e25f2e438715.zip
usb-hub: Fix handling port power control messages
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 <linux@roeck-us.net>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20241112170152.217664-11-linux@roeck-us.net>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Diffstat (limited to 'hw/usb/dev-hub.c')
-rw-r--r--hw/usb/dev-hub.c1
1 files changed, 1 insertions, 0 deletions
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;
             }