ath10k: handling qos at STA side based on AP WMM enable/disable
authorBalaji Pothunoori <bpothuno@qti.qualcomm.com>
Thu, 7 Dec 2017 14:58:04 +0000 (16:58 +0200)
committerKalle Valo <kvalo@qca.qualcomm.com>
Thu, 14 Dec 2017 15:19:08 +0000 (17:19 +0200)
Data packets are not sent by STA in case of STA joined to
non QOS AP (WMM disabled AP). This is happening because of STA
is sending data packets to firmware from host with qos enabled
along with non qos queue value(TID = 16).
Due to qos enabled, firmware is discarding the packet.

This patch fixes this issue by updating the qos based on station
WME capability field if WMM is disabled in AP.

This patch is required by 10.4 family chipsets like
QCA4019/QCA9888/QCA9884/QCA99X0.
Firmware Versoin : 10.4-3.5.1-00018.

For 10.2.4 family chipsets QCA988X/QCA9887 and QCA6174 this patch
has no effect.

Signed-off-by: Balaji Pothunoori <bpothuno@qti.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
drivers/net/wireless/ath/ath10k/mac.c

index 06383e70e009b8e45735ee5bb70b1bb414c529ac..dfd7145f69faa1c7ba1f22f1b8345b0017c3a14c 100644 (file)
@@ -2563,7 +2563,7 @@ static void ath10k_peer_assoc_h_qos(struct ath10k *ar,
                }
                break;
        case WMI_VDEV_TYPE_STA:
-               if (vif->bss_conf.qos)
+               if (sta->wme)
                        arg->peer_flags |= arvif->ar->wmi.peer_flags->qos;
                break;
        case WMI_VDEV_TYPE_IBSS: