summaryrefslogtreecommitdiff
path: root/drivers/scsi/mpi3mr
diff options
context:
space:
mode:
authorChandrakanth patil <chandrakanth.patil@broadcom.com>2023-11-26 08:31:31 +0300
committerMartin K. Petersen <martin.petersen@oracle.com>2023-12-06 05:38:47 +0300
commite5aab848dfdf7996d20ece4d28d2733c732c5e5a (patch)
tree5e61c5b1104ec480d26e5ded3333fe8c1d5c95fc /drivers/scsi/mpi3mr
parentb4d94164ff321f271c9c2d6c07676ce58f0a2c28 (diff)
downloadlinux-e5aab848dfdf7996d20ece4d28d2733c732c5e5a.tar.xz
scsi: mpi3mr: Refresh sdev queue depth after controller reset
After a controller reset, the firmware may modify the device queue depth. Therefore, update the device queue depth accordingly. Cc: <stable@vger.kernel.org> # v5.15+ Co-developed-by: Sathya Prakash <sathya.prakash@broadcom.com> Signed-off-by: Sathya Prakash <sathya.prakash@broadcom.com> Signed-off-by: Chandrakanth patil <chandrakanth.patil@broadcom.com> Link: https://lore.kernel.org/r/20231126053134.10133-2-chandrakanth.patil@broadcom.com Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/mpi3mr')
-rw-r--r--drivers/scsi/mpi3mr/mpi3mr_os.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/scsi/mpi3mr/mpi3mr_os.c b/drivers/scsi/mpi3mr/mpi3mr_os.c
index 91a22e6e5c3f..561fe0857bc0 100644
--- a/drivers/scsi/mpi3mr/mpi3mr_os.c
+++ b/drivers/scsi/mpi3mr/mpi3mr_os.c
@@ -1070,8 +1070,14 @@ void mpi3mr_rfresh_tgtdevs(struct mpi3mr_ioc *mrioc)
tgtdev = NULL;
list_for_each_entry(tgtdev, &mrioc->tgtdev_list, list) {
if ((tgtdev->dev_handle != MPI3MR_INVALID_DEV_HANDLE) &&
- !tgtdev->is_hidden && !tgtdev->host_exposed)
- mpi3mr_report_tgtdev_to_host(mrioc, tgtdev->perst_id);
+ !tgtdev->is_hidden) {
+ if (!tgtdev->host_exposed)
+ mpi3mr_report_tgtdev_to_host(mrioc,
+ tgtdev->perst_id);
+ else if (tgtdev->starget)
+ starget_for_each_device(tgtdev->starget,
+ (void *)tgtdev, mpi3mr_update_sdev);
+ }
}
}