fix iwx(4) monitor mode
authorstsp <stsp@openbsd.org>
Wed, 8 May 2024 14:03:54 +0000 (14:03 +0000)
committerstsp <stsp@openbsd.org>
Wed, 8 May 2024 14:03:54 +0000 (14:03 +0000)
commit22f856c70e6211679c512ca0726f3c6f6a152dde
tree36f20160b3cb719313e92843f60cd74c38efa0a6
parenta12575e0295a54e1b2c6849eb09458062d1d5df7
fix iwx(4) monitor mode

Monitor mode was broken by a recent firmware update. Two tweaks make
it work again:

1) The firmware does not like us sending the power-mode command while
in monitor mode and will panic, so simply don't do that.

2) We no longer add two queues while in monitor mode, just one queue
for frame injection. This queue's index will be 1, not 2. Make the
driver expect the correct index to prevent an error when monitor mode
is entered.

tested by jmc@ and myself on iwx ax200
sys/dev/pci/if_iwx.c
sys/dev/pci/if_iwxreg.h