
Intel listed total 28 commits that need us to back port. There are 9 commits that are already included in our code base. The commit "ice: Add support for E825-C TS PLL handling" will not be back ported since we're not dealing with E825 for 24.09. So we need back port 18 commits. These commits were introduced in linux-6.9.y and linux-6.10.y. To back port these 18 commits successfully, we totally back ported 37 upstream commits. 1) The patches 1-15 are cherry picked to fix the conflicts for patch 16 ("ice: introduce PTP state machine") and patch 36 "ice: Introduce ice_ptp_hw struct". Also will be helpful for the subsequent commits back porting. 2) The patches 24-27 are cherry picked to fix the conflicts for patch 28 ("ice: Fix debugfs with devlink reload") 3) The minor adjust was done for the patches 17, 21, 23 and 33 to fit with the context change. Verification: - installs from iso succeed on servers with ice(Intel Ethernet Controller E810-XXVDA4T Westport Channel) and i40e hw(Intel Ethernet Controller X710) for rt and std. - interfaces are up and pass packets for rt and std. - create vfs, ensure that they are picked up by the new iavf driver and that the interface can come up and pass packets on rt and std system. - Check dmesg to see DDP package is loaded successfully and the version is 1.3.36.0 for rt and std. Story: 2011056 Task: 50950 Change-Id: I9aef0378ea01451684341093a167eaead3edc458 Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
50 lines
2.1 KiB
Diff
50 lines
2.1 KiB
Diff
From 6c24a32820031f9713d0c0cf7ac6f4ead6b58052 Mon Sep 17 00:00:00 2001
|
|
From: Jacob Keller <jacob.e.keller@intel.com>
|
|
Date: Tue, 2 Jul 2024 10:14:55 -0700
|
|
Subject: [PATCH 35/36] ice: Don't process extts if PTP is disabled
|
|
|
|
The ice_ptp_extts_event() function can race with ice_ptp_release() and
|
|
result in a NULL pointer dereference which leads to a kernel panic.
|
|
|
|
Panic occurs because the ice_ptp_extts_event() function calls
|
|
ptp_clock_event() with a NULL pointer. The ice driver has already
|
|
released the PTP clock by the time the interrupt for the next external
|
|
timestamp event occurs.
|
|
|
|
To fix this, modify the ice_ptp_extts_event() function to check the
|
|
PTP state and bail early if PTP is not ready.
|
|
|
|
Fixes: 172db5f91d5f ("ice: add support for auxiliary input/output pins")
|
|
Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
|
|
Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
|
|
Signed-off-by: Karol Kolacinski <karol.kolacinski@intel.com>
|
|
Reviewed-by: Simon Horman <horms@kernel.org>
|
|
Tested-by: Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
|
|
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
|
|
Link: https://patch.msgid.link/20240702171459.2606611-3-anthony.l.nguyen@intel.com
|
|
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|
(cherry picked from commit 996422e3230e41468f652d754fefd1bdbcd4604e)
|
|
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
|
|
---
|
|
drivers/net/ethernet/intel/ice/ice_ptp.c | 4 ++++
|
|
1 file changed, 4 insertions(+)
|
|
|
|
diff --git a/drivers/net/ethernet/intel/ice/ice_ptp.c b/drivers/net/ethernet/intel/ice/ice_ptp.c
|
|
index 6e06c5d596b9..ceb4ba19c511 100644
|
|
--- a/drivers/net/ethernet/intel/ice/ice_ptp.c
|
|
+++ b/drivers/net/ethernet/intel/ice/ice_ptp.c
|
|
@@ -1578,6 +1578,10 @@ void ice_ptp_extts_event(struct ice_pf *pf)
|
|
u8 chan, tmr_idx;
|
|
u32 hi, lo;
|
|
|
|
+ /* Don't process timestamp events if PTP is not ready */
|
|
+ if (pf->ptp.state != ICE_PTP_READY)
|
|
+ return;
|
|
+
|
|
tmr_idx = hw->func_caps.ts_func_info.tmr_index_owned;
|
|
/* Event time is captured by one of the two matched registers
|
|
* GLTSYN_EVNT_L: 32 LSB of sampled time event
|
|
--
|
|
2.43.0
|
|
|