[PATCH v1 2/4] mpi3mr: Update timestamp only for supervisor IOCs

Ranjan Kumar
2025-02-20T14:29:59Z

Driver is issuing the time stamp update command periodically
even it is failed with supervisor only IOC Status and as a result
this command will be failed always on that function. Instead check
the Non-Supervisor capability bit reported by IOC as part of IOC Facts.

Signed-off-by: Sumit Saxena <sumit.saxena@broadcom.com>
Signed-off-by: Ranjan Kumar <ranjan.kumar@broadcom.com>
---
drivers/scsi/mpi3mr/mpi3mr_fw.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/scsi/mpi3mr/mpi3mr_fw.c b/drivers/scsi/mpi3mr/mpi3mr_fw.c
index 7796fdce03c8..f83d5c9f29a2 100644
--- a/drivers/scsi/mpi3mr/mpi3mr_fw.c
+++ b/drivers/scsi/mpi3mr/mpi3mr_fw.c
@@ -2757,7 +2757,10 @@ static void mpi3mr_watchdog_work(struct work_struct *work)
return;
}

- if (mrioc->ts_update_counter++ >= mrioc->ts_update_interval) {
+ if (!(mrioc->facts.ioc_capabilities &
+ MPI3_IOCFACTS_CAPABILITY_NON_SUPERVISOR_IOC) &&
+ (mrioc->ts_update_counter++ >= mrioc->ts_update_interval)) {
+
mrioc->ts_update_counter = 0;
mpi3mr_sync_timestamp(mrioc);
}
--
2.31.1