staging: r8188eu: refactor status handling in usb_write_port_complete
authorMartin Kaiser <martin@kaiser.cx>
Tue, 10 Jan 2023 20:56:23 +0000 (21:56 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 17 Jan 2023 18:36:14 +0000 (19:36 +0100)
Refactor the satus handling in usb_write_port_complete. Make it clearer
what happens for each status and avoid all the goto statements.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
Tested-by: Philipp Hortmann <philipp.g.hortmann@gmail.com> # Edimax N150
Link: https://lore.kernel.org/r/20230110205626.183516-2-martin@kaiser.cx
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/r8188eu/os_dep/usb_ops_linux.c

index 257bcf4960128450363909aeb8c747f2b46d4e3b..8494b80a08e5b34bb0553db68a9cb45ca02c5ac4 100644 (file)
@@ -48,21 +48,20 @@ static void usb_write_port_complete(struct urb *purb, struct pt_regs *regs)
            padapter->bWritePortCancel)
                goto check_completion;
 
-       if (purb->status) {
-               if (purb->status == -EINPROGRESS) {
-                       goto check_completion;
-               } else if (purb->status == -ENOENT) {
-                       goto check_completion;
-               } else if (purb->status == -ECONNRESET) {
-                       goto check_completion;
-               } else if (purb->status == -ESHUTDOWN) {
-                       padapter->bDriverStopped = true;
-                       goto check_completion;
-               } else if ((purb->status != -EPIPE) && (purb->status != -EPROTO)) {
-                       padapter->bSurpriseRemoved = true;
-
-                       goto check_completion;
-               }
+       switch (purb->status) {
+       case 0:
+       case -EINPROGRESS:
+       case -ENOENT:
+       case -ECONNRESET:
+       case -EPIPE:
+       case -EPROTO:
+               break;
+       case -ESHUTDOWN:
+               padapter->bDriverStopped = true;
+               break;
+       default:
+               padapter->bSurpriseRemoved = true;
+               break;
        }
 
 check_completion: