Add the RHEL 211.17.1..211.18.1 backports (1162-1244) from centos-stream-10 and upstream, on top of 211.16.1. Includes the lpfc 14.4.0.x revert batch and the RHEL-only lpfc_nlp_get UAF guard. Bump to 211.18.1.
59 lines
2.3 KiB
Diff
59 lines
2.3 KiB
Diff
From bbc528495d5ec657906c684f5805b3a410941cb6 Mon Sep 17 00:00:00 2001
|
|
From: CKI Backport Bot <cki-ci-bot+cki-gitlab-backport-bot@redhat.com>
|
|
Date: Thu, 2 Apr 2026 14:24:21 +0000
|
|
Subject: [PATCH] dpll: zl3073x: Fix ref frequency setting
|
|
|
|
JIRA: https://redhat.atlassian.net/browse/RHEL-164429
|
|
|
|
commit a047497f952831e377564b606dcb74a7cb309384
|
|
Author: Ivan Vecera <ivecera@redhat.com>
|
|
Date: Mon Feb 16 20:40:07 2026 +0100
|
|
|
|
dpll: zl3073x: Fix ref frequency setting
|
|
|
|
The frequency for an input reference is computed as:
|
|
|
|
frequency = freq_base * freq_mult * freq_ratio_m / freq_ratio_n
|
|
|
|
Before commit 5bc02b190a3fb ("dpll: zl3073x: Cache all reference
|
|
properties in zl3073x_ref"), zl3073x_dpll_input_pin_frequency_set()
|
|
explicitly wrote 1 to both the REF_RATIO_M and REF_RATIO_N hardware
|
|
registers whenever a new frequency was set. This ensured the FEC ratio
|
|
was always reset to 1:1 alongside the new base/multiplier values.
|
|
|
|
The refactoring in that commit introduced zl3073x_ref_freq_set() to
|
|
update the cached ref state, but this helper only sets freq_base and
|
|
freq_mult without resetting freq_ratio_m and freq_ratio_n to 1. Because
|
|
zl3073x_ref_state_set() uses a compare-and-write strategy, unchanged
|
|
ratio fields are never written to the hardware. If the device previously
|
|
had non-unity FEC ratio values, they remain in effect after a frequency
|
|
change, resulting in an incorrect computed frequency.
|
|
|
|
Explicitly set freq_ratio_m and freq_ratio_n to 1 in zl3073x_ref_freq_set()
|
|
to restore the original behavior.
|
|
|
|
Fixes: 5bc02b190a3fb ("dpll: zl3073x: Cache all reference properties in zl3073x_ref")
|
|
Signed-off-by: Ivan Vecera <ivecera@redhat.com>
|
|
Reviewed-by: Simon Horman <horms@kernel.org>
|
|
Link: https://patch.msgid.link/20260216194007.680416-1-ivecera@redhat.com
|
|
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|
|
|
Signed-off-by: CKI Backport Bot <cki-ci-bot+cki-gitlab-backport-bot@redhat.com>
|
|
|
|
diff --git a/drivers/dpll/zl3073x/ref.h b/drivers/dpll/zl3073x/ref.h
|
|
index efc7f59cd9f9..0d8618f5ce8d 100644
|
|
--- a/drivers/dpll/zl3073x/ref.h
|
|
+++ b/drivers/dpll/zl3073x/ref.h
|
|
@@ -91,6 +91,8 @@ zl3073x_ref_freq_set(struct zl3073x_ref *ref, u32 freq)
|
|
|
|
ref->freq_base = base;
|
|
ref->freq_mult = mult;
|
|
+ ref->freq_ratio_m = 1;
|
|
+ ref->freq_ratio_n = 1;
|
|
|
|
return 0;
|
|
}
|
|
--
|
|
2.50.1 (Apple Git-155)
|
|
|