Commit c486dc57 authored by Mohammed Shafi Shajakhan's avatar Mohammed Shafi Shajakhan Committed by Kalle Valo

ath10k: fix wifi connectivity and warning in rx with channel 169

In countries where basic operation of channel 169 is allowed,
this fixes the below WARN_ON_ONCE in Rx and fixes the station
connectivity failure in channel 169 as the packet is dropped
in the driver as the current check limits to channel 165. As of
now all the packets beyond channel 165 is dropped, fix this
by extending the range to channel 169.

Call trace:

drivers/net/wireless/ath/ath10k/wmi.c:1505
ath10k_wmi_event_mgmt_rx+0x278/0x440 [ath10k_core]()
Call Trace:
 [<c158f812>] ? printk+0x2d/0x2f
 [<c105a182>] warn_slowpath_common+0x72/0xa0
 [<f8b67b58>] ? ath10k_wmi_event_mgmt_rx+0x278/0x440

 [<f8b67b58>] ? ath10k_wmi_event_mgmt_rx+0x278/0x440

 [<c105a1d2>] warn_slowpath_null+0x22/0x30
 [<f8b67b58>] ath10k_wmi_event_mgmt_rx+0x278/0x440

 [<f8b0e72b>] ? ath10k_pci_sleep+0x8b/0xb0 [ath10k_pci]
 [<f8b6ac63>] ath10k_wmi_10_2_op_rx+0xf3/0x3b0

 [<f8b6495e>] ath10k_wmi_process_rx+0x1e/0x60

 [<f8b5f077>] ath10k_htc_rx_completion_handler+0x347/0x4d0 [ath10k_core]
 [<f8b11dc3>] ? ath10k_ce_completed_recv_next+0x53/0x70 [ath10k_pci]
 [<f8b0f921>] ath10k_pci_ce_recv_data+0x171/0x1d0 [ath10k_pci]
 [<f8b0ec69>] ? ath10k_pci_write32+0x39/0x80 [ath10k_pci]
 [<f8b120bc>] ath10k_ce_per_engine_service+0x5c/0xa0 [ath10k_pci]
 [<f8b1215f>] ath10k_ce_per_engine_service_any+0x5f/0x70 [ath10k_pci]
 [<c1060dc0>] ? local_bh_enable_ip+0x90/0x90
 [<f8b1048b>] ath10k_pci_tasklet+0x1b/0x50 [ath10k_pci]

Fixes: 34c30b0a ("ath10k: enable advertising support for channel 169, 5Ghz")
Signed-off-by: default avatarMohammed Shafi Shajakhan <mohammed@qti.qualcomm.com>
Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
parent 1077ec47
...@@ -2326,7 +2326,7 @@ int ath10k_wmi_event_mgmt_rx(struct ath10k *ar, struct sk_buff *skb) ...@@ -2326,7 +2326,7 @@ int ath10k_wmi_event_mgmt_rx(struct ath10k *ar, struct sk_buff *skb)
*/ */
if (channel >= 1 && channel <= 14) { if (channel >= 1 && channel <= 14) {
status->band = NL80211_BAND_2GHZ; status->band = NL80211_BAND_2GHZ;
} else if (channel >= 36 && channel <= 165) { } else if (channel >= 36 && channel <= 169) {
status->band = NL80211_BAND_5GHZ; status->band = NL80211_BAND_5GHZ;
} else { } else {
/* Shouldn't happen unless list of advertised channels to /* Shouldn't happen unless list of advertised channels to
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment