Commit 30bda784 authored by Don Brace's avatar Don Brace Committed by Martin K. Petersen
Browse files

scsi: hpsa: Increase controller error handling timeout

The controller can become slow to respond to SCSI INQUIRY requests
resulting in the SCSI midlayer offlining the controller device.

Increase the timeout value for commands sent to the controller device.

Link: https://lore.kernel.org/r/159528198335.24772.7963614374905470122.stgit@brunhilda


Reviewed-by: default avatarScott Teel <scott.teel@microsemi.com>
Reviewed-by: default avatarScott Benesh <scott.benesh@microsemi.com>
Reviewed-by: default avatarKevin Barnett <kevin.barnett@microsemi.com>
Signed-off-by: default avatarDon Brace <don.brace@microsemi.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent 9bb872a7
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -2134,6 +2134,7 @@ static int hpsa_slave_alloc(struct scsi_device *sdev)
}

/* configure scsi device based on internal per-device structure */
#define CTLR_TIMEOUT (120 * HZ)
static int hpsa_slave_configure(struct scsi_device *sdev)
{
	struct hpsa_scsi_dev_t *sd;
@@ -2149,6 +2150,9 @@ static int hpsa_slave_configure(struct scsi_device *sdev)
			sdev->eh_timeout = HPSA_EH_PTRAID_TIMEOUT;
			blk_queue_rq_timeout(sdev->request_queue,
						HPSA_EH_PTRAID_TIMEOUT);
		} else if (is_hba_lunid(sd->scsi3addr)) {
			sdev->eh_timeout = CTLR_TIMEOUT;
			blk_queue_rq_timeout(sdev->request_queue, CTLR_TIMEOUT);
		} else {
			queue_depth = sd->queue_depth != 0 ?
					sd->queue_depth : sdev->host->can_queue;