| From e5aab848dfdf7996d20ece4d28d2733c732c5e5a Mon Sep 17 00:00:00 2001 |
| From: Chandrakanth patil <chandrakanth.patil@broadcom.com> |
| Date: Sun, 26 Nov 2023 11:01:31 +0530 |
| Subject: scsi: mpi3mr: Refresh sdev queue depth after controller reset |
| |
| From: Chandrakanth patil <chandrakanth.patil@broadcom.com> |
| |
| commit e5aab848dfdf7996d20ece4d28d2733c732c5e5a upstream. |
| |
| 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> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/scsi/mpi3mr/mpi3mr_os.c | 10 ++++++++-- |
| 1 file changed, 8 insertions(+), 2 deletions(-) |
| |
| --- a/drivers/scsi/mpi3mr/mpi3mr_os.c |
| +++ b/drivers/scsi/mpi3mr/mpi3mr_os.c |
| @@ -1070,8 +1070,14 @@ void mpi3mr_rfresh_tgtdevs(struct mpi3mr |
| 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); |
| + } |
| } |
| } |
| |