HomeFreeBSD

ena: Remove timer service re-arm on ena_restore_device failure

Description

ena: Remove timer service re-arm on ena_restore_device failure

In case the reset sequence fails (ena_destroy_device() followed by
ena_restore_device() calls) during ena_restore_device(), the driver
resources are being freed. After the clean-up, the timer service is
re-armed in order to try and re-initialize the driver state.
But, such an attempt would fail given that the resources are freed.
Moreover, this would actually cause either the system to fail or a
panic.
When the driver fails in ena_restore_device() procedure, the only
recovery is either unloading and loading the driver or instance
reboot.

This change removes the timer service re-arm in case of failure
in ena_restore_device().

MFC after: 2 weeks
Sponsored by: Amazon, Inc.
Fixes: 78554d0c707c ("ena: start timer service on attach")

(cherry picked from commit c4a85b8d684d3db9dc4d3d01d966130e21390529)

Details

Provenance
darinzon_amazon.comAuthored on Dec 4 2022, 10:37 AM
mwCommitted on Jan 27 2023, 12:08 PM
Parents
rG35797fe2aeb6: ena: Re-Enable per-packet missing tx completion print
Branches
Unknown
Tags
Unknown