Commit Graph

18147 Commits

Author SHA1 Message Date
Manjunathappa Prakash
a59028c1c9 qcacld-3.0: Update num_elem enqueued to rx_thread after head frag_list
Today we enqueue nbuf list to rx_thread via nbuf frags_list.
If deliver_head happens to have frags_list then it is delivered alone.
Remaining list of skbs are delivered using frags_list of next skb.
It does not takecare to update QDF_NBUF_CB_RX_NUM_ELEMENTS_IN_LIST of
the new head_skb with remaining num skbs, make sure to update it.

Also add nbuf_queued to take care of this accounting.

Change-Id: I5557b5c56576c46fc8564a87a27d167b8785bb95
CRs-Fixed: 2559875
2020-01-15 13:07:00 -08:00
nshrivas
1e07f5a6b3 Release 5.2.0.165G
Release 5.2.0.165G

Change-Id: Iadd1e4d919b94af112b7accd52efef7f498ac19a
CRs-Fixed: 774533
2020-01-15 11:29:48 -08:00
Tushnim Bhattacharyya
c682bfb442 qcacld-3.0: Replace channel id with frequency for monitor mode
Replace channel ID with channel frequency in
wlan_hdd_change_hw_mode_for_given_chnl.

Change-Id: If1583dae2f13c5e5553d916befb186de00840345
CRs-Fixed: 2584776
2020-01-15 11:29:48 -08:00
Saket Jha
d5c0e02813 qcacld-3.0: Record Monitor Mode Frequency from Pdev
Extend WAR mechanism to record monitor mode capture frequency from
pdev if RX PPDU TLV is empty.

Change freq type to qdf_freq_t.

iw dev wlan0 set freq <freq> [HT20|HT40+|HT40-]

Change-Id: Ic66f516f1f0f2ac97563e27b1d7c86032e8690ec
CRs-Fixed: 2568971
2020-01-15 11:29:35 -08:00
nshrivas
ee5dee039c Release 5.2.0.165F
Release 5.2.0.165F

Change-Id: Icde49dc4c568a84df8ee61fa69784ea3faee3335
CRs-Fixed: 774533
2020-01-15 09:57:53 -08:00
Liangwei Dong
e193a3582b qcacld-3.0: Handle HE capable flags during 6ghz ap chanswitch
Set he_6ghz_band flag when SAP is switching to 6Ghz band.
And clear the flag when switching to non-6ghz band.
The Driver will add the 6ghz op info in HE operation IE
in beacon frame if he_6ghz_band is set.

Change-Id: I281a9bb239c5fea693e640a8ecddf4ffc14ba7d8
CRs-Fixed: 2602152
2020-01-15 09:57:53 -08:00
nshrivas
eee8de1b96 Release 5.2.0.165E
Release 5.2.0.165E

Change-Id: I83f61f1fe24b3777ef7a729d951a03a33a42a406
CRs-Fixed: 774533
2020-01-15 08:19:21 -08:00
Jianmin Zhu
ae4d3c41ca qcacld-3.0: SAP hung in DFS state when disable channel during CAC
If SAP start on 5G DFS channel, it will keep in CAC for 1 minute.
If Disable 5G by cmd: hostapd_cli -iwlan2 set setband 2G during
this minute, SAP won't switch to 2G since SAP isn't in started
state, and SAP start also fail since SAP operate channel
becomes disabled instead of DFS state, SAP will be hung in DFS
state.
Fix: When CAC complete and SAP start, check SAP operate channel
with wlan_reg_chan_has_dfs_attribute_for_freq.
After SAP started, will check for SAP restart,
if found current band is disabled, will switch to 2G band.

Change-Id: I3c29b5d324d4324ce958a5c2cd2102df2cc183ff
CRs-Fixed: 2601081
2020-01-15 08:19:21 -08:00
Amruta Kulkarni
f63bcbe4e3 qcacld-3.0: Reduce mlme logging level from err to debug
In wlan_mlme_configure_chain_mask(),mlme_legacy_err is
updated to mlme_legacy_debug,as its not an error condition.

Change-Id: Ibdf33124ee970bcfcc9d57df9f3b3fc6990072fe
CRs-Fixed: 2599510
2020-01-15 08:19:06 -08:00
nshrivas
8774845b80 Release 5.2.0.165D
Release 5.2.0.165D

Change-Id: I405bf7c0c9cc80c16712137826ba6f84bc274bf3
CRs-Fixed: 774533
2020-01-15 04:43:25 -08:00
bings
3d9cd95e51 qcacld-3.0: Fix build error when enable 6g in kernel 4.4
When CONFIG_BAND_6GHZ and CFG80211_6GHZ_BAND_SUPPORTED are defined in
kernel 4.4, which means 6g feature is enabled, currently there is a
build error: wlan_hdd_iftype_data_alloc_6ghz is defined but not used.

To fix this issue, refine iftype_data_*g defination with below rules.
1. If CONFIG_BAND_6GHZ and CFG80211_6GHZ_BAND_SUPPORTED are defined,
iftype_data_2g, iftype_data_5g and iftype_data_6g will be defined no
matter the kernel version.
2. If the kernel version is not smaller than 4.19, iftype_data_2g and
iftype_data_5g will be defined.
3. If the kernel version is not smaller than 5.4 and CONFIG_BAND_6GHZ
is defined, iftype_data_6g will be defined.

Change-Id: If75bea9fc4c11d6cacd8dbf49455277f055ed8de
CRs-Fixed: 2600962
2020-01-15 04:43:24 -08:00
Alan Chen
9fcd4d39f9 qcacld-3.0: Fix remaining compilation issues regarding WLAN_FEATURE_11W
When CONFIG_WLAN_FEATURE_11W is disabled, compilation of lahaina still fails
in a few areas. Even though CONFIG_WLAN_FEATURE_11W should be always be
enabled now, add appropriate fixes for the compilation issues in the event
that CONFIG_WLAN_FEATURE_11W is disabled.

Change-Id: I1743678df6b66a63160795374de7969f313f55d9
CRs-Fixed: 2601362
2020-01-15 04:43:08 -08:00
nshrivas
4939176a06 Release 5.2.0.165C
Release 5.2.0.165C

Change-Id: I3ba3277cd80cc3c0ef48a558ba48d87828fe27dd
CRs-Fixed: 774533
2020-01-15 03:03:50 -08:00
bings
a27327b2d8 qcacld-3.0: Handle dummy wmi_radio_link_stats_link wmi event
Sometimes wlan FW fails to return wmi_radio_link_stats_link because of
buffer, which makes timeout happen in wlan_hdd_cfg80211_ll_stats_get.

To fix this issue, FW returns wmi_radio_link_stats_link with dummy
information, and host need handle dummy wmi_radio_link_stats_link wmi
event.

Change-Id: Ibafc7f19ffc6d182601001f28dd7e85654155d02
CRs-Fixed: 2599725
2020-01-15 03:03:50 -08:00
nshrivas
8134b2fc69 Release 5.2.0.165B
Release 5.2.0.165B

Change-Id: Iaf029252327980e5dd78df1518f0e29f4221026d
CRs-Fixed: 774533
2020-01-15 01:29:42 -08:00
Abhinav Kumar
30874c3ac7 qcacld-3.0: Modify the MAX_TX_PWR_CAP to 24dbm
Modify the max tx power value from 30db to 24db
to pass certification test cases.

Change-Id: Idf9c3ca10d3216f0f4b1cf78f87586c6bd3c2c39
CRs-Fixed: 2601405
2020-01-15 01:29:42 -08:00
nshrivas
6b0c4dbbe8 Release 5.2.0.165A
Release 5.2.0.165A

Change-Id: Ifbb2228c06cb899b86945656023ac35f44d68486
CRs-Fixed: 774533
2020-01-14 21:13:30 -08:00
Wu Gao
fb8137a35a qcacld-3.0: Disable LDPC capability of peer
DUT as SAP and disabled LDPC, but peer supported LDPC and DUT still
TX data packages by LDPC coding. This behavior is different to other
vendors. This change disable LDPC capability of peer when associating.

Change-Id: If90944ca359c7164d4acecfe1d6146e3d2b30b5d
CRs-Fixed: 2599860
2020-01-14 21:13:30 -08:00
nshrivas
15c7c12fbf Release 5.2.0.165
Release 5.2.0.165

Change-Id: I75ccdd2870ed2edeea3ca7bdcd7d24dc5d3faa83
CRs-Fixed: 774533
2020-01-14 19:42:12 -08:00
Liangwei Dong
f9a0512cae qcacld-3.0: Check SBS supported or not before set hw mode
If the request is SBS action and the HW doesn't support SBS,
return QDF_STATUS_E_NOSUPPORT. The caller will continue to
connect/start_ap instead of failure when
policy_mgr_current_connections_update return
QDF_STATUS_E_NOSUPPORT.

Change-Id: I158f90c13e2685697b82c874a247883f21f013cb
CRs-Fixed: 2602194
2020-01-14 19:42:12 -08:00
nshrivas
ffc0b8ea67 Release 5.2.0.164Z
Release 5.2.0.164Z

Change-Id: Ia71ccc75f29ad8c450dc39bd6e9062cb665f5379
CRs-Fixed: 774533
2020-01-14 13:02:05 -08:00
Vevek Venkatesan
451f996d6b qcacld-3.0: check if non-zero list count before deleting node
Add a check if list count is non-zero before deleting the node
from IPA tx descriptor list.

Change-Id: I9913c636107686755ffc5da2b585028a4be7a1e9
CRs-Fixed: 2601601
2020-01-14 13:02:04 -08:00
nshrivas
8532a288dc Release 5.2.0.164Y
Release 5.2.0.164Y

Change-Id: Ia856c70b7e94d9631289bd8f40a50c006366f797
CRs-Fixed: 774533
2020-01-14 04:05:47 -08:00
Jingxiang Ge
6064426ef7 qcacld-3.0: Fix sta_info_container freed without init
Issue happens when wlan0 is created then hostapd change
it from sta to ap mode before start wlan0 adapter,
then interface is deleted; as hdd_sta_info_init only happens
when start ap adapter, so there will be issue when destroy
sta_obj_lock as sta_obj_lock was never init.

Change:
    Move init sta_info to open adapter and init sta_info
    for all modes, so this will simply the logic and
    no need to consider too much about adapter state change.

Change-Id: I5e90ec120b2ec487507d9bda2f8c18c9a54d2a01
CRs-Fixed: 2554812
2020-01-14 04:05:47 -08:00
nshrivas
6dfe34582d Release 5.2.0.164X
Release 5.2.0.164X

Change-Id: I810cfb6950b08ef674d13f7a3ec515684ae74eb4
CRs-Fixed: 774533
2020-01-14 02:01:44 -08:00
Tiger Yu
0da98c48ee qcacld-3.0: Refine RX GRO flush when detach the vdev device
There might be race condition when doing RX GRO flush between dp_rx_thread
and vdev detach thread.

Only doing RX GRO flush in the dp_rx_thread context, and use the events to
sync with dp_rx_thread and vdev detach thread.

Change-Id: I2dbf92c2c11e950ca790dd7429c8bb235c239d0c
CRs-Fixed: 2601826
2020-01-14 02:01:44 -08:00
gaurank kathpalia
b3b2194db6 qcacld-3.0: Check for valid BW in monitor mode
Check for invalid BW if received as part of
monitor mode vdev start command and reject if
invalid.

Change-Id: I1dfd7936af354622c52295cfba16941b96dfe649
CRs-Fixed: 2600906
2020-01-14 02:01:30 -08:00
nshrivas
ed1a697bf4 Release 5.2.0.164W
Release 5.2.0.164W

Change-Id: I01beafd7581700b04e98989c99ce8a7d2705ffd3
CRs-Fixed: 774533
2020-01-13 23:17:50 -08:00
Kai Liu
a664146e1d qcacld-3.0: skip channel switch if best channel is in PCL list
Currently during ACS process, if best channel after weight sorting
is not in PCL list, then further check if there is a channel in PCL
has some weight, if there is, then switch to this new channel.

Skip above process if best channel is already in PCL list.

Change-Id: I5bfb6d18c531e6b7b4ff0b8b2bb2bd47388fed0c
CRs-Fixed: 2589033
2020-01-13 23:17:50 -08:00
nshrivas
9f964fbed7 Release 5.2.0.164V
Release 5.2.0.164V

Change-Id: I1f5026990c3e476ac7ec3154f9e553fe418ee396
CRs-Fixed: 774533
2020-01-13 01:02:43 -08:00
hqu
e32e52a575 qcacld-3.0: Intersect he_capable from SAP and ref STA
When SAP doesn't support 11ax phymode, ref STA which support
11ax phymode connect to SAP, this will result in firmware crash
due to WMI_PEER_ASSOC_CMDID set peer_flags with WMI_PEER_HE and
peer_phymode set with SAP session phymode which doesn't support
HE capability.

Fix is to intersect he_capable from SAP and ref STA.

Change-Id: I9f63f5474db03e96a404ac86ff7929e8ebabc9f3
CRs-Fixed: 2599957
2020-01-12 20:27:05 -08:00
nshrivas
f6aeae92e0 Release 5.2.0.164U
Release 5.2.0.164U

Change-Id: Ie3536f6b313479cd0db78c33f18b09e4d0285c3f
CRs-Fixed: 774533
2020-01-12 18:57:55 -08:00
Liangwei Dong
c1956bd4cb qcacld-3.0: Handle 6Ghz channel switch
Always use ECSA for STA/SAP channel switch between 6GHz band and
other 2Ghz or 5Ghz band since operating class is required to identify
an unique channel together with channel number in IE.
Change channel switch APIs to use frequency.

Change-Id: Ie655ae88b5223a3213146cb2684a70f91cdd5b04
CRs-Fixed: 2600136
2020-01-12 18:57:55 -08:00
nshrivas
6fbf71acd3 Release 5.2.0.164T
Release 5.2.0.164T

Change-Id: Iba8b483e598430bb36d5a4728232e274870ea943
CRs-Fixed: 774533
2020-01-12 06:23:53 -08:00
Sravan Goud
dd78eef93a qcacld-3.0: Reset ipa pending tx timer at pipes enable
In case of STA + SAP ipa pending tx timer is started when last
SAP client disconnects. Again if client connects back timer is not
stopped at pipes enable. Later some time if suspend kicks in and
during bus suspend if there are no ipa tx pending ipa pipes are
disabled. This leads to issues such as data stall, invalid IPA
doorbell register access. So reset the timer during ipa enable pipes.

Change-Id: Id6034596f52f98c793674c9d9e5f7918c5c3d455
CRs-Fixed: 2598559
2020-01-12 06:23:53 -08:00
Sravan Goud
96509f80bb qcacld-3.0: Provide vendor extended stats from host
Currently in lithium FW is not always in datapath. As a result
can not provide all the wlan vendor extended stats. So as part
of this host provides some of the extended stats.

Change-Id: Ie73b1e823a54385c5b97e1844a93d4ecc38d9d3c
CRs-Fixed: 2539662
2020-01-12 06:23:38 -08:00
nshrivas
7a4559892f Release 5.2.0.164S
Release 5.2.0.164S

Change-Id: I5f9dc1a2a1c2a065b941ddc43f9d53053a531128
CRs-Fixed: 774533
2020-01-11 17:53:06 -08:00
sheenam monga
1fa0514eb7 qcacld-3.0: Fix sta_ds use after free
lim_is_pkt_candidate_for_drop() uses sta_ds to update last assoc
and deauth/disasocc received time without taking any lock for
sta_ds. deletion of sta_ds in pe_delete_session before accessing
sta_ds in dph_lookup_hash_entry can lead lead to Assert.
Similar is the case with sta_ds->last_assoc_received_time and
sta_ds->last_disassoc_deauth_received_time.

Fix is to use peer_priv instead of sta_ds and update
last_assoc_received_time and last_disassoc_deauth_received_time of
peer_mlme_priv_obj. In this case refcount gets increased for valid
peer and peer won't be deleted until lim_is_pkt_candidate_for_drop
releases the ref count of the peer.

Change-Id: I9daf31f9dd7b509eaf38a93078bb7418605b1c74
CRs-Fixed: 2598841
2020-01-11 17:53:06 -08:00
nshrivas
36c9da3135 Release 5.2.0.164R
Release 5.2.0.164R

Change-Id: Ic7f89d077a05428d086adfda2aef8e2098306626
CRs-Fixed: 774533
2020-01-11 13:56:06 -08:00
Jianmin Zhu
7ff7fe7d37 qcacld-3.0: Some AP are missed in Beacon Report response
In radio measurement beacon report frame,  The BSSID field
indicates the BSSID of the BSS(s) for which a beacon report is
requested. When requesting beacon reports for all BSSs on the
channel, the BSSID field contains the wildcard BSSID; otherwise
the BSSID field contains a specific BSSID for a single BSS.

If BSSID is wildcard BSSID, bssid num should be 0 when use fill
scan result filter, or filtered scan result is always empty
since wildcard BSSID can't match any normal bssid.

Change-Id: Ia172ac8160d0c38ce4c875fc29458c6c8f26c804
CRs-Fixed: 2599634
2020-01-11 13:56:06 -08:00
nshrivas
010f447523 Release 5.2.0.164Q
Release 5.2.0.164Q

Change-Id: If001f21e4bbd10516a45a2e0b89e1fa7f5d59884
CRs-Fixed: 774533
2020-01-11 11:12:30 -08:00
bings
b188056965 qcacld-3.0: Don't disable dfs phyerr offload when no sap/go in DFS ch
According to FW, DFS phyerr offload should be enabled before vdev start,
otherwise FW can't start DFS phyerr offload function.

Do not send DFS phyerr offload disable wmi command before vdev stop, and
FW will handle all the necessary cleanup in vdev stop wmi command.

Without DFS phyerr offload disable wmi command, DFS phyerr offload is
enabled before vdev start.

Change-Id: Id6275e9716afb34316cf46b69dd0b4f82b73ac5d
CRs-Fixed: 2598263
2020-01-11 11:12:29 -08:00
nshrivas
ea97347bfd Release 5.2.0.164P
Release 5.2.0.164P

Change-Id: I4db3f57c3b6b06f0252431971c5a938ce9a3da29
CRs-Fixed: 774533
2020-01-11 01:50:08 -08:00
Kiran Kumar Lokere
4dd5c4f06b qcacld-3.0: Set the default SW retry limit value to 16
Set the default software retry limit value to 16 and fix the typo
in configuring the non aggregation software retry limit.

Change-Id: Ia6ef7cc39f47ef91c2c338e48561e0275445750f
CRs-Fixed: 2599467
2020-01-11 01:50:08 -08:00
nshrivas
0de5a1e7dd Release 5.2.0.164O
Release 5.2.0.164O

Change-Id: I3dbd37733c23fe62f99554a2ddffcd54ccb336d3
CRs-Fixed: 774533
2020-01-10 21:33:06 -08:00
Arun Kumar Khandavalli
0cc6233157 qcacld-3.0: Add flush callback for umac stop
During the scheduler_stop it tries to flush all the pending messages
in the queue, during the same the flush callbacks of all the pending
messages are invoked. If there is no flush callback for
SYS_MSG_ID_UMAC_STOP, it will free the bodyptr of the message which
contains the global variable g_stop_evt, which can result in invalid
access in the other thread.

Add a dummy flush callback message for the sys_stop message to
avoid the invalid access.

Change-Id: I46ca4240d787dce5b21cc2f99ced66a4c01b737c
CRs-Fixed: 2537773
2020-01-10 21:33:05 -08:00
nshrivas
82fc5bb295 Release 5.2.0.164N
Release 5.2.0.164N

Change-Id: Ia777e8e04e238d75527fe730cadcc9048bdc7ce6
CRs-Fixed: 774533
2020-01-10 04:07:57 -08:00
bings
059c4a06c2 qcacld-3.0: Configure TDLS off channel mode when band switches
Disable TDLS off channel if 2g or 5g is disabled, restore TDLS off
channel configure when all bands are enabled.

Change-Id: Iabfdcdbf84e4a6313ad04e381b70e21c871d66c2
CRs-Fixed: 2595303
2020-01-10 04:07:57 -08:00
Alok Kumar
a71b36fc0a qcacld-3.0: Register callbacks for packet capture
Add callbacks to register pktcapture Rx Ops and
pktcapture adapter context in pdev for packet capture
mode.

Change-Id: Iefbb24c364dfb460788f7512dee1a6ec4d2b29c1
CRs-Fixed: 2528553
2020-01-10 04:07:42 -08:00
Alok Kumar
5730524bdc qcacld-3.0: Register network interface for pktcapture mode
For packet capture mode, register an interface through
hdd_add_virtual_intf and delete using hdd_del_virtual_intf.
During register, remove the P2P interface and add it back
during deregister.

Change-Id: I79d933c96591cd462e27eda73f5aed2cc7cad8af
CRs-Fixed: 2528549
2020-01-10 04:07:28 -08:00