git: a24be14366a7 - stable/14 - mpi3mr: Controller state check before enabling PEL
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 30 Apr 2025 17:21:35 UTC
The branch stable/14 has been updated by imp:
URL: https://cgit.FreeBSD.org/src/commit/?id=a24be14366a72ed59888e17ba4d05620b9cf36b9
commit a24be14366a72ed59888e17ba4d05620b9cf36b9
Author: Chandrakanth patil <chandrakanth.patil@broadcom.com>
AuthorDate: 2024-03-14 17:14:53 +0000
Commit: Warner Losh <imp@FreeBSD.org>
CommitDate: 2025-04-30 17:05:51 +0000
mpi3mr: Controller state check before enabling PEL
Reviewed by: imp
Approved by: imp
Differential revision: https://reviews.freebsd.org/D44422
(cherry picked from commit 042808f74707d3ce89e89463d4a03f81df6fd45a)
---
sys/dev/mpi3mr/mpi3mr_app.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/sys/dev/mpi3mr/mpi3mr_app.c b/sys/dev/mpi3mr/mpi3mr_app.c
index f0dee22518a8..811f6e2f08af 100644
--- a/sys/dev/mpi3mr/mpi3mr_app.c
+++ b/sys/dev/mpi3mr/mpi3mr_app.c
@@ -1642,6 +1642,18 @@ mpi3mr_pel_enable(struct mpi3mr_softc *sc,
struct mpi3mr_ioctl_pel_enable pel_enable;
mpi3mr_dprint(sc, MPI3MR_TRACE, "%s() line: %d\n", __func__, __LINE__);
+ if (sc->unrecoverable) {
+ device_printf(sc->mpi3mr_dev, "Issue IOCTL: controller is in unrecoverable state\n");
+ return EFAULT;
+ }
+ if (sc->reset_in_progress) {
+ device_printf(sc->mpi3mr_dev, "Issue IOCTL: reset in progress\n");
+ return EAGAIN;
+ }
+ if (sc->block_ioctls) {
+ device_printf(sc->mpi3mr_dev, "Issue IOCTL: IOCTLs are blocked\n");
+ return EAGAIN;
+ }
if ((data_out_sz != sizeof(pel_enable) ||
(pel_enable.pel_class > MPI3_PEL_CLASS_FAULT))) {