[Impact]
Currently in focal, mlx5 devices reporter recovery is enabled even if state is healthy.
[test case]
1)
display devlink health status
# devlink health show pci/0000:05:00.0 reporter fw_fatal
pci/0000:05:00.0:
reporter fw_fatal
state healthy error 0 recover 0 grace_period 1200000 auto_recover true
2)
perform reporter recovery using devlink,
# devlink health recover pci/0000:05:00.0 reporter fw_fatal
3)see that recovery was performed.
# dmesg
[776733.438708] mlx5_core 0000:05:00.0: mlx5_health_try_recover:316:(pid 563178): handling bad device here
[776733.438717] mlx5_core 0000:05:00.0: mlx5_handle_bad_state:278:(pid 563178): Expected to see disabled
NIC but it is full driver
[776735.591522] mlx5_core 0000:05:00.0: mlx5_health_try_recover:328:(pid 563178): starting health recovery flow
...
# devlink health show pci/0000:05:00.0 reporter fw_fatal
pci/0000:05:00.0:
reporter fw_fatal
state healthy error 0 recover 1 grace_period 1200000 auto_recover true
[fix]
402818205c9e devlink: don't do reporter recovery if the state is healthy
this upstream commit from kernel v5.5-rc1 which is cleanly applied on focal tree.
the commit prevents reporter recovery when device in healthy state.
when applied, issuing
# devlink health recover pci/0000:05:00.0 reporter fw_fatal
on healthy state reporter return successfully, but dmesg is clean and recover counter do not change.
Hi,
[Impact]
Currently in focal, mlx5 devices reporter recovery is enabled even if state is healthy.
[test case]
1)
display devlink health status
# devlink health show pci/0000:05:00.0 reporter fw_fatal
pci/0000:05:00.0:
reporter fw_fatal
state healthy error 0 recover 0 grace_period 1200000 auto_recover true
2)
perform reporter recovery using devlink,
# devlink health recover pci/0000:05:00.0 reporter fw_fatal
3)see that recovery was performed. try_recover: 316:(pid 563178): handling bad device here bad_state: 278:(pid 563178): Expected to see disabled try_recover: 328:(pid 563178): starting health recovery flow
# dmesg
[776733.438708] mlx5_core 0000:05:00.0: mlx5_health_
[776733.438717] mlx5_core 0000:05:00.0: mlx5_handle_
NIC but it is full driver
[776735.591522] mlx5_core 0000:05:00.0: mlx5_health_
...
# devlink health show pci/0000:05:00.0 reporter fw_fatal
pci/0000:05:00.0:
reporter fw_fatal
state healthy error 0 recover 1 grace_period 1200000 auto_recover true
[fix]
402818205c9e devlink: don't do reporter recovery if the state is healthy
this upstream commit from kernel v5.5-rc1 which is cleanly applied on focal tree.
the commit prevents reporter recovery when device in healthy state.
when applied, issuing
# devlink health recover pci/0000:05:00.0 reporter fw_fatal
on healthy state reporter return successfully, but dmesg is clean and recover counter do not change.
Thanks,
Amir