scsi: hpsa: disable volume status check for legacy boards
authorHannes Reinecke <hare@suse.de>
Tue, 15 Aug 2017 06:58:05 +0000 (08:58 +0200)
committerMartin K. Petersen <martin.petersen@oracle.com>
Fri, 25 Aug 2017 02:28:55 +0000 (22:28 -0400)
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>
drivers/scsi/hpsa.c

index fbe7fbcb57bb6405ecb58732d06fec9ec456bbc3..0b0b6dc0fcd4cab0a3b781918ad3f57ed17b81bb 100644 (file)
@@ -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;