Older Controller might not support volume status, so assume
the volume is online here.

Signed-off-by: Hannes Reinecke <h...@suse.com>
---
 drivers/scsi/hpsa.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c
index 7ca6078..4ebf5d4 100644
--- a/drivers/scsi/hpsa.c
+++ b/drivers/scsi/hpsa.c
@@ -3832,6 +3832,17 @@ 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->supported) {
+                       /*
+                        * Older / unsupported controllers 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;
-- 
1.8.5.6

Reply via email to