> -----Original Message-----
> From: Intel-wired-lan <[email protected]> On Behalf Of 
> Arkadiusz Kubalewski
> Sent: Saturday, February 10, 2024 2:55 AM
> To: [email protected]
> Cc: Loktionov, Aleksandr <[email protected]>; Kitszel, Przemyslaw 
> <[email protected]>; Kubalewski, Arkadiusz 
> <[email protected]>
> Subject: [Intel-wired-lan] [PATCH iwl-net v2 1/3] ice: fix dpll and dpll_pin 
> data access on PF reset
>
> Do not allow to acquire data or alter configuration of dpll and pins
> through firmware if PF reset is in progress, this would cause confusing
> netlink extack errors as the firmware cannot respond or process the
> request properly during the reset time.
>
> Return (-EBUSY) and extack error for the user who tries access/modify
> the config of dpll/pin through firmware during the reset time.
>
> The PF reset and kernel access to dpll data are both asynchronous. It is
> not possible to guard all the possible reset paths with any determinictic
> approach. I.e., it is possible that reset starts after reset check is
> performed (or if the reset would be checked after mutex is locked), but at
> the same time it is not possible to wait for dpll mutex unlock in the
> reset flow.
> This is best effort solution to at least give a clue to the user
> what is happening in most of the cases, knowing that there are possible
> race conditions where the user could see a different error received
> from firmware due to reset unexpectedly starting.
>
> Test by looping execution of below steps until netlink error appears:
> - perform PF reset
> $ echo 1 > /sys/class/net/<ice PF>/device/reset
> - i.e. try to alter/read dpll/pin config:
> $ ./tools/net/ynl/cli.py --spec Documentation/netlink/specs/dpll.yaml \
>       --dump pin-get
>
> Fixes: d7999f5ea64b ("ice: implement dpll interface to control cgu")
> Reviewed-by: Aleksandr Loktionov <[email protected]>
> Reviewed-by: Przemek Kitszel <[email protected]>
> Signed-off-by: Arkadiusz Kubalewski <[email protected]>
> ---
> v2:
> - remove newline from extack error
> - change "pf" -> "PF" in extack error
> ---
>  drivers/net/ethernet/intel/ice/ice_dpll.c | 38 +++++++++++++++++++++++
>  1 file changed, 38 insertions(+)
>

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

Reply via email to