wifi: wfx: allow to send frames during ROC
authorJérôme Pouiller <jerome.pouiller@silabs.com>
Wed, 4 Oct 2023 17:28:42 +0000 (19:28 +0200)
committerKalle Valo <kvalo@kernel.org>
Mon, 9 Oct 2023 06:53:07 +0000 (09:53 +0300)
commitf7385a20249ea63b521554bf4bd06b3401c19a55
tree76a768552e82eb85dced87ae3703ea0eb36ee7fd
parent04106ec5bb025f275d0e18553c253adf12a0cc8a
wifi: wfx: allow to send frames during ROC

Until now, all the traffic was blocked during scan operation. However,
scan operation is going to be used to implement Remain On Channel (ROC).
In this case, special frames (marked with IEEE80211_TX_CTL_TX_OFFCHAN)
must be sent during the operation.

These frames need to be sent on the virtual interface #2. Until now,
this interface was only used by the device for internal purpose. But
since API 3.9, it can be used to send data during scan operation (we
hijack the scan process to implement ROC).

Thus, we need to change a bit the way we match the frames with the
interface.

Fortunately, the frames received during the scan are marked with the
correct interface number. So there is no change to do on this part.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20231004172843.195332-8-jerome.pouiller@silabs.com
drivers/net/wireless/silabs/wfx/data_tx.c
drivers/net/wireless/silabs/wfx/data_tx.h
drivers/net/wireless/silabs/wfx/queue.c
drivers/net/wireless/silabs/wfx/queue.h