ath10k: use Rx decap mode configured when driver registered
authorPeter Oh <poh@qca.qualcomm.com>
Mon, 5 Oct 2015 14:56:39 +0000 (17:56 +0300)
committerKalle Valo <kvalo@qca.qualcomm.com>
Tue, 6 Oct 2015 11:44:19 +0000 (14:44 +0300)
ath10k is using Native WiFi mode as default mode for both of
Tx and Rx path, but it could be changed when driver registers
with a module parameter for specific purpose such as mesh.

The Rx decap mode sent to firmware during WMI initialization should
use the same mode that driver configured at its registration stage
in case of using raw mode, so that host driver receives MAC frame
header containing necessary fields such as QoS and Mesh Control
and uses them in right way to make data traffic work.

Signed-off-by: Peter Oh <poh@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
drivers/net/wireless/ath/ath10k/wmi.c

index 3eca5ffe9cddecffb60f4d04cc91e63013ad4030..063469b69d5f91385555a2d087b0be278aa71a21 100644 (file)
@@ -5337,7 +5337,7 @@ static struct sk_buff *ath10k_wmi_10_4_op_gen_init(struct ath10k *ar)
        config.rx_timeout_pri[2] = __cpu_to_le32(TARGET_10_4_RX_TIMEOUT_LO_PRI);
        config.rx_timeout_pri[3] = __cpu_to_le32(TARGET_10_4_RX_TIMEOUT_HI_PRI);
 
-       config.rx_decap_mode        = __cpu_to_le32(TARGET_10_4_RX_DECAP_MODE);
+       config.rx_decap_mode        = __cpu_to_le32(ar->wmi.rx_decap_mode);
        config.scan_max_pending_req = __cpu_to_le32(TARGET_10_4_SCAN_MAX_REQS);
        config.bmiss_offload_max_vdev =
                        __cpu_to_le32(TARGET_10_4_BMISS_OFFLOAD_MAX_VDEV);