> -----Original Message-----
> From: Intel-wired-lan <[email protected]> On Behalf Of
> Emil Tantilov
> Sent: Thursday, November 20, 2025 4:12 PM
> To: [email protected]
> Cc: [email protected]; Loktionov, Aleksandr
> <[email protected]>; Kitszel, Przemyslaw
> <[email protected]>; Nguyen, Anthony L
> <[email protected]>; [email protected];
> [email protected]; [email protected]; [email protected];
> [email protected]; [email protected]; [email protected]; Hay, Joshua
> A <[email protected]>; Chittim, Madhu <[email protected]>;
> Lobakin, Aleksander <[email protected]>; Zaremba, Larysa
> <[email protected]>; [email protected]
> Subject: [Intel-wired-lan] [PATCH iwl-net v2 1/5] idpf: keep the netdev when a
> reset fails
> 
> During a successful reset the driver would re-allocate vport resources while
> keeping the netdevs intact. However, in case of an error in the init task, the
> netdev of the failing vport will be unregistered, effectively removing the
> network interface:
> 
> [  121.211076] idpf 0000:83:00.0: enabling device (0100 -> 0102) [
> 121.221976] idpf 0000:83:00.0: Device HW Reset initiated [  124.161229]
> idpf 0000:83:00.0 ens801f0: renamed from eth0 [  124.163364] idpf
> 0000:83:00.0 ens801f0d1: renamed from eth1 [  125.934656] idpf
> 0000:83:00.0 ens801f0d2: renamed from eth2 [  128.218429] idpf
> 0000:83:00.0 ens801f0d3: renamed from eth3
> 
> ip -br a
> ens801f0         UP
> ens801f0d1       UP
> ens801f0d2       UP
> ens801f0d3       UP
> echo 1 > /sys/class/net/ens801f0/device/reset
> 
> [  145.885537] idpf 0000:83:00.0: resetting [  145.990280] idpf
> 0000:83:00.0: reset done [  146.284766] idpf 0000:83:00.0: HW reset
> detected [  146.296610] idpf 0000:83:00.0: Device HW Reset initiated [
> 211.556719] idpf 0000:83:00.0: Transaction timed-out (op:526 cookie:7700
> vc_op:526 salt:77 timeout:60000ms) [  272.996705] idpf 0000:83:00.0:
> Transaction timed-out (op:502 cookie:7800 vc_op:502 salt:78
> timeout:60000ms)
> 
> ip -br a
> ens801f0d1       DOWN
> ens801f0d2       DOWN
> ens801f0d3       DOWN
> 
> Re-shuffle the logic in the error path of the init task to make sure the 
> netdevs
> remain intact. This will allow the driver to attempt recovery via subsequent
> resets, provided the FW is still functional.
> 
> The main change is to make sure that idpf_decfg_netdev() is not called should
> the init task fail during a reset. The error handling is consolidated under
> unwind_vports, as the removed labels had the same cleanup logic split
> depending on the point of failure.
> 
> Fixes: ce1b75d0635c ("idpf: add ptypes and MAC filter support")
> Signed-off-by: Emil Tantilov <[email protected]>
> Reviewed-by: Aleksandr Loktionov <[email protected]>
> ---
> 2.37.3
Tested-by: Samuel Salin <[email protected]>

Reply via email to