scsi: mpi3mr: Do access status validation before adding devices
authorSreekanth Reddy <sreekanth.reddy@broadcom.com>
Mon, 20 Dec 2021 14:11:41 +0000 (19:41 +0530)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 23 Dec 2021 05:04:22 +0000 (00:04 -0500)
Add validation for various access statuses prior to exposing attached
target device to the operating system.

Link: https://lore.kernel.org/r/20211220141159.16117-8-sreekanth.reddy@broadcom.com
Signed-off-by: Sreekanth Reddy <sreekanth.reddy@broadcom.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/mpi3mr/mpi3mr_os.c

index 14621dc..2fe7fcb 100644 (file)
@@ -831,6 +831,17 @@ static void mpi3mr_update_tgtdev(struct mpi3mr_ioc *mrioc,
                scsi_tgt_priv_data->dev_type = tgtdev->dev_type;
        }
 
+       switch (dev_pg0->access_status) {
+       case MPI3_DEVICE0_ASTATUS_NO_ERRORS:
+       case MPI3_DEVICE0_ASTATUS_PREPARE:
+       case MPI3_DEVICE0_ASTATUS_NEEDS_INITIALIZATION:
+       case MPI3_DEVICE0_ASTATUS_DEVICE_MISSING_DELAY:
+               break;
+       default:
+               tgtdev->is_hidden = 1;
+               break;
+       }
+
        switch (tgtdev->dev_type) {
        case MPI3_DEVICE_DEVFORM_SAS_SATA:
        {