OpenBSD cvs log

created 2021-09-26T01:56:50Z
begin 2021-09-23T00:00:00Z
end 2021-09-24T00:00:00Z
path src/sys
commits 4

date 2021-09-23T15:13:47Z
author stsp
files src/sys/net80211/ieee80211_proto.c log diff annotate
src/sys/net80211/ieee80211_var.h log diff annotate
message Add an ADDBA_OFFLOAD capability for wifi devices manage Tx block ack
sessions entirely in firmware. This will be used by iwx(4).

date 2021-09-23T15:34:00Z
author stsp
files src/sys/dev/pci/if_iwx.c log diff annotate
src/sys/dev/pci/if_iwxreg.h log diff annotate
src/sys/dev/pci/if_iwxvar.h log diff annotate
message Add support for Tx aggregation to the iwx(4) driver.

Throughput goes up to 100 Mbit/s under ideal conditions.

This is mostly working and stable, however rare occasional hangs may occur
where the device stops giving us interrupts for reasons which are not yet
understood.
In such cases ifconfig down/up will recover the interface. Regardless, this
code seems to be stable enough for remaining issues to be resolved in-tree.
My working assumption is that the remaining issues were always present but
only trigger under increased load when firmware is driven with Tx agg enabled.

Feedback is welcome, especially if stability issues turn out to be worse than
expected! As usual, please enable "ifconfig iwx0 debug" when reporting issues.

Tests on ax200/ax201:
myself, dv, hrvoje, Stefan Hagen, kevlo, Eric Auge, mlarkin, jmc, Mark Patruck

Of which only me and jmc have reported seeing a small amount of hangs during
continuous usage over about 2 weeks.

date 2021-09-23T15:40:41Z
author stsp
files src/sys/net80211/ieee80211_proto.c log diff annotate
message Revert ieee80211_proto.c r1.97 (cvs commit ID 8vKZsdvvkjTr5BG5).

My assumption that frames which are buffered on the power save
queue were already encrypted was wrong. And the issue which this
change intended to fix is still present (reported by Mikolaj Kucharski).

date 2021-09-23T16:27:58Z
author stsp
files src/sys/dev/pci/if_iwx.c log diff annotate
message Reset the Tx timer when iwx(4) firmware sends a BA notification.

When multiple frames are sent in a batch on a Tx aggregation queue our
current firmware version does not provide the IWX_TX_CMD notification.
Older versions used to provide this (as observed on iwm(4) devices),
but our current firmware only sends IWX_BA_NOTIF.

This means we need to reset the Tx timer upon BA_NOTIF in order to
avoid a bogus "device timeout" trigger from our watchdog handler.
Do this as soon as the BA notification has been validated.