ath10k: convert wow pattern from 802.3 to 802.11
authorWen Gong <wgong@codeaurora.org>
Thu, 19 Apr 2018 16:40:07 +0000 (19:40 +0300)
committerKalle Valo <kvalo@codeaurora.org>
Tue, 24 Apr 2018 05:54:52 +0000 (08:54 +0300)
commitfa3440fa2fa1531fb2aafb6d51f2bc5ac70a6247
tree77bf97adbef56cf807304723ce18676759d10207
parent60e1d0fb290197fe505dff6e4e3b7e4d258dbf60
ath10k: convert wow pattern from 802.3 to 802.11

When trying to set wow wakeup patterns it fails with this command:

iw phyxx wowlan enable patterns offset xx+ IP address xx.xx.xx.xx

The reason is that the wow pattern from upper layer is in 802.3 format
for this case, it need to convert it to 802.11 format. The input
offset parameter is used for 802.3, but the actual offset firmware
need depends on rx_decap_mode, so that it needs to be recalculated.
Pattern of 802.3 packet is not same with 802.11 packet. If the
rx_decap_mode is ATH10K_HW_TXRX_NATIVE_WIFI, then firmware will
receive data packet with 802.11 format from hardware.

Tested with QCA6174 hw3.0 with firmware
WLAN.RM.4.4.1-00099-QCARMSWPZ-1, but this will also affect QCA9377.
This has always failed, so it's not a regression with new firmware
releases.

Signed-off-by: Wen Gong <wgong@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ath/ath10k/wmi.h
drivers/net/wireless/ath/ath10k/wow.c