ionic: clear broken state on generation change
authorShannon Nelson <snelson@pensando.io>
Wed, 24 Aug 2022 16:50:49 +0000 (09:50 -0700)
committerJakub Kicinski <kuba@kernel.org>
Thu, 25 Aug 2022 19:39:54 +0000 (12:39 -0700)
commit9cb9dadb8f45c67e4310e002c2f221b70312b293
treeac2b09128506a1729dabfdf223d72effce90695b
parentb0f571ecd7943423c25947439045f0d352ca3dbf
ionic: clear broken state on generation change

There is a case found in heavy testing where a link flap happens just
before a firmware Recovery event and the driver gets stuck in the
BROKEN state.  This comes from the driver getting interrupted by a FW
generation change when coming back up from the link flap, and the call
to ionic_start_queues() in ionic_link_status_check() fails.  This can be
addressed by having the fw_up code clear the BROKEN bit if seen, rather
than waiting for a user to manually force the interface down and then
back up.

Fixes: 9e8eaf8427b6 ("ionic: stop watchdog when in broken state")
Signed-off-by: Shannon Nelson <snelson@pensando.io>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/pensando/ionic/ionic_lif.c