From: Sagar Biradar <sagar.biradar@microchip.com>
To: "Martin K . Petersen" <martin.petersen@oracle.com>,
James Bottomley <James.Bottomley@HansenPartnership.com>,
Jack Wang <jinpu.wang@cloud.ionos.com>
Cc: linux-scsi <linux-scsi@vger.kernel.org>, <stable@vger.kernel.org>,
"Brian King" <brking@linux.vnet.ibm.com>,
Don Brace <don.brace@microchip.com>,
"Raja VS" <raja.vs@microchip.com>,
Kumar Meiyappan <kumar.meiyappan@microchip.com>,
Abhinav Kuchibhotla <abhinav.kuchibhotla@microchip.com>,
Uday kumar Bagam <udaykumar.bagam@microchip.com>,
Advait Churi <advait.churi@microchip.com>,
Sagar Biradar <sagar.biradar@microchip.com>
Subject: [PATCH] scsi: pm8001: reject firmware update in fatal error state
Date: Thu, 16 Apr 2026 15:37:57 +0000 [thread overview]
Message-ID: <20260416153757.414896-1-sagar.biradar@microchip.com> (raw)
From: Kumar Meiyappan <kumar.meiyappan@microchip.com>
pm8001_store_update_fw() allows a firmware update request even
when the controller has already entered a fatal error state.
Firmware update is not valid once the controller is in that state,
and attempting it can lead to a call trace. Reject the request
early by checking controller_fatal_error, set the firmware
status to FAIL_PARAMETERS, and return -EINVAL.
Signed-off-by: Kumar Meiyappan <kumar.meiyappan@microchip.com>
Signed-off-by: Sagar Biradar <sagar.biradar@microchip.com>
---
drivers/scsi/pm8001/pm8001_ctl.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/scsi/pm8001/pm8001_ctl.c b/drivers/scsi/pm8001/pm8001_ctl.c
index cbfda8c04e95..bb38b2d63acb 100644
--- a/drivers/scsi/pm8001/pm8001_ctl.c
+++ b/drivers/scsi/pm8001/pm8001_ctl.c
@@ -826,6 +826,14 @@ static ssize_t pm8001_store_update_fw(struct device *cdev,
goto out;
}
+ if (pm8001_ha->controller_fatal_error) {
+ pm8001_dbg(pm8001_ha, FAIL,
+ "controller in fatal error state, firmware update rejected\n");
+ pm8001_ha->fw_status = FAIL_PARAMETERS;
+ ret = -EINVAL;
+ goto out;
+ }
+
for (i = 0; flash_command_table[i].code != FLASH_CMD_NONE; i++) {
if (!memcmp(flash_command_table[i].command,
cmd_ptr, strlen(cmd_ptr))) {
--
2.43.0
next reply other threads:[~2026-04-16 15:58 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-16 15:37 Sagar Biradar [this message]
2026-05-15 2:09 ` [PATCH] scsi: pm8001: reject firmware update in fatal error state Martin K. Petersen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260416153757.414896-1-sagar.biradar@microchip.com \
--to=sagar.biradar@microchip.com \
--cc=James.Bottomley@HansenPartnership.com \
--cc=abhinav.kuchibhotla@microchip.com \
--cc=advait.churi@microchip.com \
--cc=brking@linux.vnet.ibm.com \
--cc=don.brace@microchip.com \
--cc=jinpu.wang@cloud.ionos.com \
--cc=kumar.meiyappan@microchip.com \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=raja.vs@microchip.com \
--cc=stable@vger.kernel.org \
--cc=udaykumar.bagam@microchip.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.