sandbox: fix sandbox_hub_submit_control_msg()
authorHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Sat, 1 Apr 2023 06:57:33 +0000 (08:57 +0200)
committerSimon Glass <sjg@chromium.org>
Fri, 28 Apr 2023 17:30:17 +0000 (11:30 -0600)
Avoid incorrect fall through:
A USB_RT_HUB request should not be treated as USB_RT_PORT.

Simplify the coding:
Avoid duplicate debug() statements.

This fixes all -Wimplicit-fallthrough warnings.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
drivers/usb/emul/sandbox_hub.c

index 041ec37..084cc16 100644 (file)
@@ -220,13 +220,9 @@ static int sandbox_hub_submit_control_msg(struct udevice *bus,
                                udev->status = 0;
                                udev->act_len = sizeof(*hubsts);
                                return 0;
+                           }
                        }
-                       default:
-                               debug("%s: rx ctl requesttype=%x, request=%x\n",
-                                     __func__, setup->requesttype,
-                                     setup->request);
-                               break;
-                       }
+                       break;
                case USB_RT_PORT | USB_DIR_IN:
                        switch (setup->request) {
                        case USB_REQ_GET_STATUS: {
@@ -239,13 +235,12 @@ static int sandbox_hub_submit_control_msg(struct udevice *bus,
                                udev->status = 0;
                                udev->act_len = sizeof(*portsts);
                                return 0;
+                           }
                        }
-                       }
-               default:
-                       debug("%s: rx ctl requesttype=%x, request=%x\n",
-                             __func__, setup->requesttype, setup->request);
                        break;
                }
+               debug("%s: rx ctl requesttype=%x, request=%x\n",
+                     __func__, setup->requesttype, setup->request);
        } else if (pipe == usb_sndctrlpipe(udev, 0)) {
                switch (setup->requesttype) {
                case USB_RT_PORT:
@@ -263,7 +258,7 @@ static int sandbox_hub_submit_control_msg(struct udevice *bus,
                                        debug("  ** Invalid feature\n");
                                }
                                return ret;
-                       }
+                           }
                        case USB_REQ_CLEAR_FEATURE: {
                                int port;
 
@@ -279,18 +274,11 @@ static int sandbox_hub_submit_control_msg(struct udevice *bus,
                                }
                                udev->status = 0;
                                return 0;
+                           }
                        }
-                       default:
-                               debug("%s: tx ctl requesttype=%x, request=%x\n",
-                                     __func__, setup->requesttype,
-                                     setup->request);
-                               break;
-                       }
-               default:
-                       debug("%s: tx ctl requesttype=%x, request=%x\n",
-                             __func__, setup->requesttype, setup->request);
-                       break;
                }
+               debug("%s: tx ctl requesttype=%x, request=%x\n",
+                     __func__, setup->requesttype, setup->request);
        }
        debug("pipe=%lx\n", pipe);