summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/hpsa.c
diff options
context:
space:
mode:
authorHannes Reinecke <hare@suse.de>2017-08-15 08:58:05 +0200
committerMartin K. Petersen <martin.petersen@oracle.com>2017-08-25 04:28:55 +0200
commit4d17944a4797f00430ab890d18ec1a5d6fd352d8 (patch)
tree9cb640dd8e6d6a8df12dded9ed492c605388e0c5 /drivers/scsi/hpsa.c
parentscsi: hpsa: add support for legacy boards (diff)
downloadlinux-4d17944a4797f00430ab890d18ec1a5d6fd352d8.tar.xz
linux-4d17944a4797f00430ab890d18ec1a5d6fd352d8.zip
scsi: hpsa: disable volume status check for legacy boards
Legacy boards might not support volume status, so assume the volume is online here. Signed-off-by: Hannes Reinecke <hare@suse.com> Acked-by: Don Brace <don.brace@microsemi.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/hpsa.c')
-rw-r--r--drivers/scsi/hpsa.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c
index fbe7fbcb57bb..0b0b6dc0fcd4 100644
--- a/drivers/scsi/hpsa.c
+++ b/drivers/scsi/hpsa.c
@@ -3845,6 +3845,16 @@ static int hpsa_update_device_info(struct ctlr_info *h,
if (h->fw_support & MISC_FW_RAID_OFFLOAD_BASIC)
hpsa_get_ioaccel_status(h, scsi3addr, this_device);
volume_offline = hpsa_volume_offline(h, scsi3addr);
+ if (volume_offline == HPSA_VPD_LV_STATUS_UNSUPPORTED &&
+ h->legacy_board) {
+ /*
+ * Legacy boards might not support volume status
+ */
+ dev_info(&h->pdev->dev,
+ "C0:T%d:L%d Volume status not available, assuming online.\n",
+ this_device->target, this_device->lun);
+ volume_offline = 0;
+ }
this_device->volume_offline = volume_offline;
if (volume_offline == HPSA_LV_FAILED) {
rc = HPSA_LV_FAILED;