get_time_fn() callback implementations are expected to fill out the
entire system_counterval_t struct as it may be initially uninitialized.

This broke with the removal of convert_art_to_tsc() helper functions
which left use_nsecs uninitialized.

Assign the entire struct again.

Fixes: bd48b50be50a ("e1000e: Replace convert_art_to_tsc()")
Cc: [email protected]
Signed-off-by: Markus Blöchl <[email protected]>
---
Notes:
    Related-To: 
<https://lore.kernel.org/lkml/txyrr26hxe3xpq3ebqb5ewkgvhvp7xalotaouwludjtjifnah2@7tmgczln4aoo/>

Changes in v2:
- Add Lakshmi in Cc:
- Add Signed-off-by: trailer which was lost in b4 workflow
- Link to v1: 
https://lore.kernel.org/r/[email protected]
---
 drivers/net/ethernet/intel/e1000e/ptp.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/intel/e1000e/ptp.c 
b/drivers/net/ethernet/intel/e1000e/ptp.c
index 
ea3c3eb2ef2020d513d49c1368679f27d17edb04..f01506504ee3a11822930115e9ed07661d81532c
 100644
--- a/drivers/net/ethernet/intel/e1000e/ptp.c
+++ b/drivers/net/ethernet/intel/e1000e/ptp.c
@@ -124,8 +124,11 @@ static int e1000e_phc_get_syncdevicetime(ktime_t *device,
        sys_cycles = er32(PLTSTMPH);
        sys_cycles <<= 32;
        sys_cycles |= er32(PLTSTMPL);
-       system->cycles = sys_cycles;
-       system->cs_id = CSID_X86_ART;
+       *system = (struct system_counterval_t) {
+               .cycles = sys_cycles,
+               .cs_id = CSID_X86_ART,
+               .use_nsecs = false,
+       };
 
        return 0;
 }

---
base-commit: 733923397fd95405a48f165c9b1fbc8c4b0a4681
change-id: 20250709-e1000e_crossts-7745674f682a

Best regards,
-- 
Markus Blöchl <[email protected]>

Reply via email to