|
@@ -257,17 +257,16 @@ static void uas_stat_cmplt(struct urb *urb)
|
|
|
struct uas_cmd_info *cmdinfo;
|
|
|
unsigned long flags;
|
|
|
unsigned int idx;
|
|
|
+ int status = urb->status;
|
|
|
|
|
|
spin_lock_irqsave(&devinfo->lock, flags);
|
|
|
|
|
|
if (devinfo->resetting)
|
|
|
goto out;
|
|
|
|
|
|
- if (urb->status) {
|
|
|
- if (urb->status != -ENOENT && urb->status != -ECONNRESET) {
|
|
|
- dev_err(&urb->dev->dev, "stat urb: status %d\n",
|
|
|
- urb->status);
|
|
|
- }
|
|
|
+ if (status) {
|
|
|
+ if (status != -ENOENT && status != -ECONNRESET && status != -ESHUTDOWN)
|
|
|
+ dev_err(&urb->dev->dev, "stat urb: status %d\n", status);
|
|
|
goto out;
|
|
|
}
|
|
|
|
|
@@ -348,6 +347,7 @@ static void uas_data_cmplt(struct urb *urb)
|
|
|
struct uas_dev_info *devinfo = (void *)cmnd->device->hostdata;
|
|
|
struct scsi_data_buffer *sdb = NULL;
|
|
|
unsigned long flags;
|
|
|
+ int status = urb->status;
|
|
|
|
|
|
spin_lock_irqsave(&devinfo->lock, flags);
|
|
|
|
|
@@ -374,9 +374,9 @@ static void uas_data_cmplt(struct urb *urb)
|
|
|
goto out;
|
|
|
}
|
|
|
|
|
|
- if (urb->status) {
|
|
|
- if (urb->status != -ENOENT && urb->status != -ECONNRESET)
|
|
|
- uas_log_cmd_state(cmnd, "data cmplt err", urb->status);
|
|
|
+ if (status) {
|
|
|
+ if (status != -ENOENT && status != -ECONNRESET && status != -ESHUTDOWN)
|
|
|
+ uas_log_cmd_state(cmnd, "data cmplt err", status);
|
|
|
/* error: no data transfered */
|
|
|
sdb->resid = sdb->length;
|
|
|
} else {
|