mirror of
https://github.com/torvalds/linux.git
synced 2026-06-07 05:55:44 +02:00
staging: r8188eu: always process urb status
Remove the if clause in usb_write_port_complete and process the urb status regardless of bSurpriseRemoved, bDriverStopped and bWritePortCancel. The only possible results of urb status processing are updates to bSurpriseRemoved and bDriverStopped. All of the three status variable are set to true only if the whole USB processing has to be stopped (when the driver is unloaded or when the system goes to sleep). It's no problem if one of the "stop everything" variables is already set and the urb status processing sets another one. This patch removes the last goto in usb_write_port_complete. It's also part of the ongoing effort to limit the use of the "stop everything" variables. 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-5-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
8db002ed48
commit
f4f52873a1
|
|
@ -44,9 +44,6 @@ static void usb_write_port_complete(struct urb *purb)
|
|||
if (pxmitbuf->flags == HIGH_QUEUE_INX)
|
||||
rtw_chk_hi_queue_cmd(padapter);
|
||||
|
||||
if (padapter->bSurpriseRemoved || padapter->bDriverStopped || padapter->bWritePortCancel)
|
||||
goto check_completion;
|
||||
|
||||
switch (purb->status) {
|
||||
case 0:
|
||||
case -EINPROGRESS:
|
||||
|
|
@ -63,7 +60,6 @@ static void usb_write_port_complete(struct urb *purb)
|
|||
break;
|
||||
}
|
||||
|
||||
check_completion:
|
||||
rtw_sctx_done_err(&pxmitbuf->sctx,
|
||||
purb->status ? RTW_SCTX_DONE_WRITE_PORT_ERR : RTW_SCTX_DONE_SUCCESS);
|
||||
rtw_free_xmitbuf(pxmitpriv, pxmitbuf);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user