OpenBSD cvs log

created 2024-02-18T13:48:55Z
begin 2024-02-16T00:00:00Z
end 2024-02-17T00:00:00Z
path src/sys
commits 8

date 2024-02-16T09:03:29Z
author phessler
files src/sys/dev/ic/qwx.c log diff annotate
src/sys/dev/pci/if_qwx_pci.c log diff annotate
message start moving some developmental printfs to be DEBUG DPRINTFs

requested and OK by stsp@

date 2024-02-16T11:44:52Z
author stsp
files src/sys/dev/pci/if_iwm.c log diff annotate
src/sys/dev/pci/if_iwn.c log diff annotate
src/sys/dev/pci/if_iwx.c log diff annotate
message Fix wrong ifmedia check in intel wifi drivers.

IFM_AUTO is a media sub-type, not a media mode.
Should fix issues where only a subset of channels were scanned.

Tested:
iwm 8260: millert@
iwm 8265: mglocker@
iwm 9560: gnezdo@
iwx ax200: jmc@
iwx ax210: spiros thanasoulas
iwx ax211: kn@

date 2024-02-16T14:13:45Z
author stsp
files src/sys/dev/ic/qwx.c log diff annotate
src/sys/dev/ic/qwxvar.h log diff annotate
message prevent memory leaks from duplicate/spurious qwx(4) fw memory requests

The request_mem_indication event handler would always allocate a new
buffer to store the firmware's request, potentially leaking an already
existing copy. Ensure that this buffer is always freed, and avoid
allocating it in the first place if we're not currently expecting this
event to occur.
All this would have surfaced the previously fixed bug with the missing
wakeup much earlier. The wakeup was always missed but when the driver
retried it would find the stale buffer from the previous event and not
even enter tsleep.

date 2024-02-16T14:16:16Z
author stsp
files src/sys/dev/ic/qwx.c log diff annotate
message remove high-level error messages that cause noise when qwx fw is missing

date 2024-02-16T14:18:36Z
author stsp
files src/sys/dev/ic/qwx.c log diff annotate
message fix qwx(4) not coming up on first try if firmware was missing from disk at boot

date 2024-02-16T16:37:42Z
author stsp
files src/sys/dev/pci/if_qwx_pci.c log diff annotate
message improve PBL->SBL EE transition handling in preparation for qwx_init_task()

Use a custom work queue for all EE/MHI state transitions.
Running MHI state changes in the systq won't work while running the
qwx init recovery task from the same systq. The init task would wait
for a state change and time out (assuming the device had failed to load
firmware when all was well), then the MHI state change task would run.

For consistency, send wakeups for the initial PBL->SBL EE transition
from the MHI state change task rather than the interrupt handler.
This in-place wakeup was an early hack from before when state
transitions were handled properly.

date 2024-02-16T22:30:54Z
author mglocker
files src/sys/dev/pci/if_em.c log diff annotate
src/sys/dev/pci/if_em.h log diff annotate
src/sys/dev/pci/if_em_hw.h log diff annotate
message Re-introduce TSO support after we've implemented fixes for the two reported
issues:

1. Unaligned memory access panic on sparc64 -> Made ether_extract_headers()
memory alignment safe.
2. em(4) watchdog timeouts in conjunction with ix(4)/vlan(4) -> Fixed
RX/LRO packet size calculation used for TSO tagging in ix(4).

Extensive testing done by bluhm@ on amd64 and sparc64 based on different
chips.
Testing done on Hrvoje Popovskis ix(4)/em(4)/vlan(4) setup from where the
issue 2 was reported.

OK bluhm@

date 2024-02-16T22:46:07Z
author phessler
files src/sys/dev/ic/qwx.c log diff annotate
message implement qwx_init_task(), which will reset the hardware when it gets
confused

OK stsp@