ice: Check if reset in progress while waiting for offsets
authorMichal Michalik <michal.michalik@intel.com>
Tue, 23 Aug 2022 11:56:26 +0000 (13:56 +0200)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Tue, 6 Sep 2022 20:55:47 +0000 (13:55 -0700)
Occasionally while waiting to valid offsets from hardware we get reset.
Add check for reset before proceeding to execute scheduled work.

Co-developed-by: Karol Kolacinski <karol.kolacinski@intel.com>
Signed-off-by: Karol Kolacinski <karol.kolacinski@intel.com>
Signed-off-by: Michal Michalik <michal.michalik@intel.com>
Tested-by: Gurucharan <gurucharanx.g@intel.com> (A Contingent worker at Intel)
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/ice/ice_ptp.c

index 5a2fd4d..26020f3 100644 (file)
@@ -1242,6 +1242,9 @@ static void ice_ptp_wait_for_offset_valid(struct kthread_work *work)
        hw = &pf->hw;
        dev = ice_pf_to_dev(pf);
 
+       if (ice_is_reset_in_progress(pf->state))
+               return;
+
        if (ice_ptp_check_offset_valid(port)) {
                /* Offsets not ready yet, try again later */
                kthread_queue_delayed_work(pf->ptp.kworker,