HomeFreeBSD

Split ENA reset routine into restore and destroy stages

Description

Split ENA reset routine into restore and destroy stages

For alignment with Linux driver and better handling ena_detach(), the
reset is now calling ena_device_restore() and ena_device_destroy().

The ena_device_destroy() is also being called on ena_detach(), so the
code will be more readable.

The watchdog is now being activated after reset only, if it was active
before.

There were added additional checks to ensure, that there is no race with
the link state change AENQ handler.

Submitted by: Michal Krawczyk <mk@semihalf.com>
Obtained from: Semihalf
Sponsored by: Amazon, Inc.

Details

Committed
mwMay 30 2019, 1:39 PM
Parents
rS348408: Use bitfield for storing global ENA device states
Branches
Unknown
Tags
Unknown