diff mbox series

mpi3mr: Hidden drives not removed during soft reset

Message ID 20220505184808.24049-2-sreekanth.reddy@broadcom.com (mailing list archive)
State Accepted
Headers show
Series mpi3mr: Hidden drives not removed during soft reset | expand

Commit Message

Sreekanth Reddy May 5, 2022, 6:48 p.m. UTC
If any drive is missing during the reset, the driver
checks whether the device is exposed to the OS and if it is,
then only it removes the device from the OS and
its own internal list. For hidden devices even if they are found
as missing during reset the driver is not removing them from
its internal list. Modified driver to remove hidden devices
from the driver's target device list if they are missing
during soft reset.

Signed-off-by: Sreekanth Reddy <sreekanth.reddy@broadcom.com>
---
 drivers/scsi/mpi3mr/mpi3mr_os.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

Comments

Martin K. Petersen May 11, 2022, 2:29 a.m. UTC | #1
Sreekanth,

> If any drive is missing during the reset, the driver checks whether
> the device is exposed to the OS and if it is, then only it removes the
> device from the OS and its own internal list. For hidden devices even
> if they are found as missing during reset the driver is not removing
> them from its internal list. Modified driver to remove hidden devices
> from the driver's target device list if they are missing during soft
> reset.

Applied to 5.19/scsi-staging, thanks!
Martin K. Petersen May 17, 2022, 2:16 a.m. UTC | #2
On Fri, 6 May 2022 00:18:07 +0530, Sreekanth Reddy wrote:

> If any drive is missing during the reset, the driver
> checks whether the device is exposed to the OS and if it is,
> then only it removes the device from the OS and
> its own internal list. For hidden devices even if they are found
> as missing during reset the driver is not removing them from
> its internal list. Modified driver to remove hidden devices
> from the driver's target device list if they are missing
> during soft reset.
> 
> [...]

Applied to 5.19/scsi-queue, thanks!

[1/1] mpi3mr: Hidden drives not removed during soft reset
      https://git.kernel.org/mkp/scsi/c/2dd8389f96d6
diff mbox series

Patch

diff --git a/drivers/scsi/mpi3mr/mpi3mr_os.c b/drivers/scsi/mpi3mr/mpi3mr_os.c
index 5c57519..5ba490c 100644
--- a/drivers/scsi/mpi3mr/mpi3mr_os.c
+++ b/drivers/scsi/mpi3mr/mpi3mr_os.c
@@ -911,9 +911,11 @@  void mpi3mr_rfresh_tgtdevs(struct mpi3mr_ioc *mrioc)
 
 	list_for_each_entry_safe(tgtdev, tgtdev_next, &mrioc->tgtdev_list,
 	    list) {
-		if ((tgtdev->dev_handle == MPI3MR_INVALID_DEV_HANDLE) &&
-		    tgtdev->host_exposed) {
-			mpi3mr_remove_tgtdev_from_host(mrioc, tgtdev);
+		if (tgtdev->dev_handle == MPI3MR_INVALID_DEV_HANDLE) {
+			dprint_reset(mrioc, "removing target device with perst_id(%d)\n",
+			    tgtdev->perst_id);
+			if (tgtdev->host_exposed)
+				mpi3mr_remove_tgtdev_from_host(mrioc, tgtdev);
 			mpi3mr_tgtdev_del_from_list(mrioc, tgtdev);
 			mpi3mr_tgtdev_put(tgtdev);
 		}