git: 0d7056458db5 - main - mpi3mr: Block devices persist despite being offlined during reset

From: Sumit Saxena <ssaxena_at_FreeBSD.org>
Date: Thu, 06 Jun 2024 10:39:20 UTC
The branch main has been updated by ssaxena:

URL: https://cgit.FreeBSD.org/src/commit/?id=0d7056458db5b5dd7fdc5ccd8abab73e3ee76a20

commit 0d7056458db5b5dd7fdc5ccd8abab73e3ee76a20
Author:     Chandrakanth patil <chandrakanth.patil@broadcom.com>
AuthorDate: 2024-03-13 18:03:19 +0000
Commit:     Sumit Saxena <ssaxena@FreeBSD.org>
CommitDate: 2024-06-06 10:39:14 +0000

    mpi3mr: Block devices persist despite being offlined during reset
    
    The driver removes the drive from the OS if firmware sends 'device added'
    event with hidden bit or inaccessible status.
    
    Reviewed by:            imp
    Approved by:            imp
    Differential revision:  https://reviews.freebsd.org/D44421
---
 sys/dev/mpi3mr/mpi3mr.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/sys/dev/mpi3mr/mpi3mr.c b/sys/dev/mpi3mr/mpi3mr.c
index 932d174a6b50..faa8b52bbb50 100644
--- a/sys/dev/mpi3mr/mpi3mr.c
+++ b/sys/dev/mpi3mr/mpi3mr.c
@@ -5668,6 +5668,8 @@ static void mpi3mr_rfresh_tgtdevs(struct mpi3mr_softc *sc)
 			if (target->exposed_to_os)
 				mpi3mr_remove_device_from_os(sc, target->dev_handle);
 			mpi3mr_remove_device_from_list(sc, target, true);
+		} else if (target->is_hidden && target->exposed_to_os) {
+				mpi3mr_remove_device_from_os(sc, target->dev_handle);
 		}
 	}