staging: r8188eu: refactor status handling in usb_write_port_complete

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>
This commit is contained in:
Martin Kaiser 2023-01-10 21:56:23 +01:00 committed by Greg Kroah-Hartman
parent 001c773caf
commit 47bdd807ae

View 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: