Avoid "mac clock not ready" panic in iwx(4).
authorstsp <stsp@openbsd.org>
Mon, 31 May 2021 08:43:07 +0000 (08:43 +0000)
committerstsp <stsp@openbsd.org>
Mon, 31 May 2021 08:43:07 +0000 (08:43 +0000)
commit2f384bdb033dd3776bc3ef4c45c082dc8204272a
treec2c9f11a854554081edbe9eb018adcdf90a2a0ed
parentcf2767f3dc2db66785a9b33f20e8f15af4fe45ba
Avoid "mac clock not ready" panic in iwx(4).

The same change was just made in iwm(4):

The point of iwm_nic_assert_locked() is to verify that iwm_nic_lock() has
been called somewhere up in the call stack. Checking our own lock counter
is sufficient for this purpose.

If locking the device worked then these registers had the expected state at
that time and our lock counter was incremented. Apparently if the device runs
into some issue later the state of these registers may change and trigger
these panics. Instead we want to handle such failures gracefully and reset
the device.

problem reported by steven@
ok kettenis@
sys/dev/pci/if_iwx.c