Apparently some athn(4) variants are buggy and may hand us corrupt frames
authorkettenis <kettenis@openbsd.org>
Sun, 3 Oct 2021 20:19:55 +0000 (20:19 +0000)
committerkettenis <kettenis@openbsd.org>
Sun, 3 Oct 2021 20:19:55 +0000 (20:19 +0000)
commit6dc210665feafa2e49100f4b95aa3a8630ef20d7
tree1b1c5b38d0506342f98b6791c6fb425f319ee3b7
parent38ec9b882768626d6f44fae2dc5b5353e8a2e249
Apparently some athn(4) variants are buggy and may hand us corrupt frames
that are marked "ok".  Linux has some workarounds for this and checks whether
the status word has error bits set in it regardless of the bit that marks
the frame as "ok".  Adapt this workaround to our driver and drop the frame
after setting input errors.  This doesn't filter out all corrupted frames,
but it does keep things down to a level where it doesn't fill up the node
cache anymore when athn(4) is used in hostap mode.

Seen with:

athn0 at pci1 dev 0 function 0 "Atheros AR9281" rev 0x01: intx
athn0: AR9280 rev 2 (2T2R), ROM rev 16, address xx:xx:xx:xx:xx:xx

ok stsp@
sys/dev/ic/ar5008.c