Skip to content

Commit

Permalink
megaraid_sas: do not process IOCTLs and SCSI commands during driver r…
Browse files Browse the repository at this point in the history
…emoval

Do not process any SCSI and IOCTL command further (return them with
appropriate return values to callers), while driver removal is in
progress or PCI shutdown is invoked.

Signed-off-by: Sumit Saxena <sumit.saxena@avagotech.com>
Signed-off-by: Kashyap Desai <kashyap.desai@avagotech.com>
Reviewed-by: Tomas Henzl <thenzl@redhat.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
  • Loading branch information
Sumit.Saxena@avagotech.com authored and Christoph Hellwig committed Nov 24, 2014
1 parent 6e755dd commit aa00832
Showing 1 changed file with 15 additions and 4 deletions.
19 changes: 15 additions & 4 deletions drivers/scsi/megaraid/megaraid_sas_base.c
Original file line number Diff line number Diff line change
Expand Up @@ -1571,6 +1571,12 @@ megasas_queue_command(struct Scsi_Host *shost, struct scsi_cmnd *scmd)
instance = (struct megasas_instance *)
scmd->device->host->hostdata;

if (instance->unload == 1) {
scmd->result = DID_NO_CONNECT << 16;
scmd->scsi_done(scmd);
return 0;
}

if (instance->issuepend_done == 0)
return SCSI_MLQUEUE_HOST_BUSY;

Expand Down Expand Up @@ -5011,10 +5017,6 @@ static int megasas_io_attach(struct megasas_instance *instance)
return -ENODEV;
}

/*
* Trigger SCSI to scan our drives
*/
scsi_scan_host(host);
return 0;
}

Expand Down Expand Up @@ -5344,6 +5346,10 @@ static int megasas_probe_one(struct pci_dev *pdev,
goto fail_io_attach;

instance->unload = 0;
/*
* Trigger SCSI to scan our drives
*/
scsi_scan_host(host);

/*
* Initiate AEN (Asynchronous Event Notification)
Expand Down Expand Up @@ -6107,6 +6113,11 @@ megasas_mgmt_fw_ioctl(struct megasas_instance *instance,
megasas_issue_blocked_cmd(instance, cmd, 0);
cmd->sync_cmd = 0;

if (instance->unload == 1) {
dev_info(&instance->pdev->dev, "Driver unload is in progress "
"don't submit data to application\n");
goto out;
}
/*
* copy out the kernel buffers to user buffers
*/
Expand Down

0 comments on commit aa00832

Please sign in to comment.