scsi: set correct completion code in scsi_send_eh_cmnd()
[cascardo/linux.git] / drivers / scsi / scsi_error.c
index f17aa7a..47a1ffc 100644 (file)
@@ -1029,6 +1029,7 @@ retry:
                rtn = NEEDS_RETRY;
        } else {
                timeleft = wait_for_completion_timeout(&done, timeout);
+               rtn = SUCCESS;
        }
 
        shost->eh_action = NULL;
@@ -2306,6 +2307,12 @@ scsi_reset_provider(struct scsi_device *dev, int flag)
        }
 
        scmd = scsi_get_command(dev, GFP_KERNEL);
+       if (!scmd) {
+               rtn = FAILED;
+               put_device(&dev->sdev_gendev);
+               goto out_put_autopm_host;
+       }
+
        blk_rq_init(NULL, &req);
        scmd->request = &req;