diff options
Diffstat (limited to 'drivers/staging/rtl8712/usb_ops_linux.c')
-rw-r--r-- | drivers/staging/rtl8712/usb_ops_linux.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/staging/rtl8712/usb_ops_linux.c b/drivers/staging/rtl8712/usb_ops_linux.c index 489a9e6..454cdf6 100644 --- a/drivers/staging/rtl8712/usb_ops_linux.c +++ b/drivers/staging/rtl8712/usb_ops_linux.c @@ -232,9 +232,14 @@ static void r8712_usb_read_port_complete(struct urb *purb) case -EPIPE: case -ENODEV: case -ESHUTDOWN: - case -ENOENT: padapter->bDriverStopped = true; break; + case -ENOENT: + if (!padapter->bSuspended) { + padapter->bDriverStopped = true; + break; + } + /* Fall through. */ case -EPROTO: precvbuf->reuse = true; r8712_read_port(padapter, precvpriv->ff_hwaddr, 0, @@ -329,7 +334,7 @@ void r8712_usb_read_port_cancel(struct _adapter *padapter) void r8712_xmit_bh(void *priv) { int ret = false; - struct _adapter *padapter = (struct _adapter *)priv; + struct _adapter *padapter = priv; struct xmit_priv *pxmitpriv = &padapter->xmitpriv; if (padapter->bDriverStopped || |