]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
scsi: mpi3mr: Update timestamp only for supervisor IOCs
authorRanjan Kumar <ranjan.kumar@broadcom.com>
Thu, 20 Feb 2025 14:25:26 +0000 (19:55 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 29 May 2025 09:13:09 +0000 (11:13 +0200)
[ Upstream commit 83a9d30d29f275571f6e8f879f04b2379be7eb6c ]

The driver issues the time stamp update command periodically. Even if the
command fails with supervisor only IOC Status.

Instead check the Non-Supervisor capability bit reported by IOC as part of
IOC Facts.

Co-developed-by: Sumit Saxena <sumit.saxena@broadcom.com>
Signed-off-by: Sumit Saxena <sumit.saxena@broadcom.com>
Signed-off-by: Ranjan Kumar <ranjan.kumar@broadcom.com>
Link: https://lore.kernel.org/r/20250220142528.20837-3-ranjan.kumar@broadcom.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/scsi/mpi3mr/mpi3mr_fw.c

index f6d3db3fd0d8ec1c3a9d18f64493552c0befe231..604f37e5c0c355f8dd48375293f016076c7a7a23 100644 (file)
@@ -2747,7 +2747,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);
        }