OpenBSD cvs log

created 2021-09-13T16:28:00Z
begin 2021-09-08T00:00:00Z
end 2021-09-09T00:00:00Z
path src/sys
commits 4

date 2021-09-08T11:35:08Z
author stsp
files src/sys/dev/pci/if_iwm.c log diff annotate
src/sys/dev/pci/if_iwx.c log diff annotate
message Let iwm(4) and iwx(4) sleep for 1 second while loading firmware.

Sleeping for 1 second matches what iwn(4) does. Fixes issues where loading
firmware failed for bogus reasons. I could trigger this failure on AX200
with suspend/resume but it was not inherently specific to suspend/resume.

The previous code was looping over tsleep(9) in steps of 100msec.
This could lead to a race where the firmware's alive interrupt fired between
the endtsleep() timeout handler, which marks the sleep timeout as expired,
and sleep_finish(), which reschedules the sleeping thread. The driver would
see EWOULDBLOCK and report an error even though loading firmware did succeed.

ok mpi@

date 2021-09-08T11:40:30Z
author stsp
files src/sys/net80211/ieee80211_output.c log diff annotate
message Improve debug output when sending 802.11 action frames by showing the
action frame subtypes we care about (i.e. those related to 11n block ack).

ok mpi@

date 2021-09-08T13:06:23Z
author stsp
files src/sys/dev/pci/if_iwm.c log diff annotate
src/sys/dev/pci/if_iwx.c log diff annotate
message Make iwm(4) and iwx(4) raise IPL to splnet() while loading firmware.

ok mpi@

date 2021-09-08T13:06:53Z
author stsp
files src/sys/dev/pci/if_iwx.c log diff annotate
message Add a missing call to iwx_ctxt_info_free_fw_img() in an error path
of iwx_ctxt_info_init() which should always free on error.

Also, free firmware paging DMA memory in case loading firmware has failed.
If we don't free paging on error we hit KASSERT(dram->paging == NULL)
in iwx_init_fw_sec() once we try to load firmware again. I have hit
this while debugging firmware load failures during suspend/resume.

ok mpi@