> -----Original Message-----
> From: Intel-wired-lan <[email protected]> On Behalf Of 
> Arkadiusz Kubalewski
> Sent: Thursday, October 10, 2024 3:43 PM
> To: [email protected]
> Cc: Kolacinski, Karol <[email protected]>; Kubalewski, Arkadiusz 
> <[email protected]>
> Subject: [Intel-wired-lan] [PATCH iwl-net v3] ice: fix crash on probe for 
> DPLL enabled E810 LOM
>
> The E810 Lan On Motherboard (LOM) design is vendor specific. Intel provides 
> the reference design, but it is up to vendor on the final product design. For 
> some cases, like Linux DPLL support, the static values defined in the driver 
> does not reflect the actual LOM design.
> Current implementation of dpll pins is causing the crash on probe of the ice 
> driver for such DPLL enabled E810 LOM designs:
>
> WARNING: (...) at drivers/dpll/dpll_core.c:495 dpll_pin_get+0x2c4/0x330 ...
> Call Trace:
> <TASK>
> ? __warn+0x83/0x130
> ? dpll_pin_get+0x2c4/0x330
> ? report_bug+0x1b7/0x1d0
> ? handle_bug+0x42/0x70
> ? exc_invalid_op+0x18/0x70
> ? asm_exc_invalid_op+0x1a/0x20
> ? dpll_pin_get+0x117/0x330
> ? dpll_pin_get+0x2c4/0x330
> ? dpll_pin_get+0x117/0x330
>  ice_dpll_get_pins.isra.0+0x52/0xe0 [ice] ...
>
> The number of dpll pins enabled by LOM vendor is greater than expected and 
> defined in the driver for Intel designed NICs, which causes the crash.
>
> Prevent the crash and allow generic pin initialization within Linux DPLL 
> subsystem for DPLL enabled E810 LOM designs.
>
> Newly designed solution for described issue will be based on "per HW design" 
> pin initialization. It requires pin information dynamically acquired from the 
> firmware and is already in progress, planned for next-tree only.
>
> Fixes: d7999f5ea64b ("ice: implement dpll interface to control cgu")
> Reviewed-by: Karol Kolacinski <[email protected]>
> Signed-off-by: Arkadiusz Kubalewski <[email protected]>
> ---
> v3:
> - use ARRAY_SIZE()/sizeof() and remove length define
> - initialize also input pins with the generic pins approach
> - remove unused OCXO input pin properities
> ---
>  drivers/net/ethernet/intel/ice/ice_dpll.c   | 70 +++++++++++++++++++++
>  drivers/net/ethernet/intel/ice/ice_ptp_hw.c | 21 ++++++-  
> drivers/net/ethernet/intel/ice/ice_ptp_hw.h |  1 +
>  3 files changed, 90 insertions(+), 2 deletions(-)
>

Tested-by: Pucha Himasekhar Reddy <[email protected]> (A 
Contingent worker at Intel)

Reply via email to