Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cca26be3 authored by Oliver Neukum's avatar Oliver Neukum Committed by Greg Kroah-Hartman
Browse files

UAS: also check for ESHUTDOWN in error reporting



-ESHUTDOWN means that the HC has been unplugged.
Reporting an error in that case makes no sense.

Signed-off-by: default avatarOliver Neukum <oneukum@suse.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent db1319e1
Loading
Loading
Loading
Loading
+8 −8
Original line number Diff line number Diff line
@@ -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 {