Commit Graph

8676 Commits

Author SHA1 Message Date
Kabilan Kannan
efca122f5d qcacld-3.0: Add validity check in HDD object manager deinit
Add validity check in HDD object manager destroy function
to avoid the crash.

Change-Id: I1c3296dc2bf84fc564686aeab46c1a0b217820ce
CRs-Fixed: 2159256
2017-12-15 19:26:19 -08:00
snandini
41198157b8 Release 5.2.0.58
Release 5.2.0.58

Change-Id: I283d454ee2670fdbe0949fe9b1e7a52cefc19fcc
CRs-Fixed: 774533
2017-12-15 17:31:31 -08:00
Yun Park
a4bb37c234 qcacld-3.0: Fix IPA pipe unloading timeout during driver restart
Host driver drops incoming HDD IPA events during unloading prcess,
when IPA pipe unloading timeout occurs, and IPA offload state could
be mismatch between host driver and FW.
Fix by setting unloading complete before IPA pipe disable and putting
events into pending event queue for unloading timeout case as well.

Change-Id: If44caa07f328bf3ac2d2fc02aafb796176114678
CRs-Fixed: 2152490
2017-12-15 17:31:30 -08:00
snandini
964e0d631e Release 5.2.0.57Z
Release 5.2.0.57Z

Change-Id: I12906d3a8103c5352f91795ff04a50c140074861
CRs-Fixed: 774533
2017-12-15 13:26:26 -08:00
lifeng
70a5ee609e qcacld-3.0: Fix buffer overread in lim_process_fils_auth_frame2
qcacld-2.0 to qcacld-3.0 propagation

The return value validation is missing for dot11fUnpackIeRSN, thus
"dot11f_ie_rsn.pmkid_count" could be larger than 4. When it is larger
than 4 there will be a buffer over-read in vos_mem_compare. Add status
check of dot11fUnpackIeRSN in lim_process_fils_auth_frame2.

Change-Id: If563ddb13bbfcad5660d136c35c39846010594e1
CRs-Fixed: 2147955
2017-12-15 13:26:25 -08:00
Dustin Brown
920397d930 qcacld-3.0: Remove hdd_adapter_list_node_t
Linux convention is to embed a list node in a structure that is meant to
be a member of a list. However, hdd_adapter_list_node_t is created to
contain both the list node and the list item itself. Remove
hdd_adapter_list_node_t and embed the list node directly into
hdd_adapter instead.

Change-Id: I62888a0212d88aa212fee34b886e3d8a4875e0c7
CRs-Fixed: 2159309
2017-12-15 13:26:23 -08:00
snandini
f847c8629c Release 5.2.0.57Y
Release 5.2.0.57Y

Change-Id: I7c782e83004119854e8ae9adfdb2e9a8547bc9c0
CRs-Fixed: 774533
2017-12-15 03:42:06 -08:00
Naveen Rawat
bcd3d019d8 qcacld-3.0: Execute sme_stop and mac_stop in mc thread context
sme_stop and mac_stop are accessing share data structures which
create a race condition when it is called from rmmod context.
Change context of sme_stop and mac_stop from rmmod thread to
mc thread.

Change-Id: Ie30f99d6b0c2f7c6cf20371dd66323d156360474
CRs-Fixed: 2148771
2017-12-15 03:42:05 -08:00
snandini
ec5c565002 Release 5.2.0.57X
Release 5.2.0.57X

Change-Id: I3becda7b09ad2d603f6c3ad06769179857be3273
CRs-Fixed: 774533
2017-12-15 01:38:37 -08:00
Abhishek Singh
104a1bfccc qcacld-3.0: Enable roaming scoring logic by default
Set enable_scoring_for_roam to enable roaming scoring logic by default.

Change-Id: Ib48116142f38d3a796f0c02d0345ebc3fdd36700
CRs-Fixed: 2157478
2017-12-15 01:38:36 -08:00
snandini
4db80cade7 Release 5.2.0.57W
Release 5.2.0.57W

Change-Id: I8ca41d452d4954a447082f6354b4d17342c90556
CRs-Fixed: 774533
2017-12-14 23:27:12 -08:00
Sourav Mohapatra
804359ebc4 qcacld-3.0: Enable additional feature caps
Enable WIFI_FEATURE_CONFIG_NDO caps in __wlan_hdd_cfg80211_get_features
to help in VTS test case passing.

Change-Id: Iea56e53add127dc79a959f26e5f512662ed304cb
CRs-Fixed: 2155700
2017-12-14 23:27:11 -08:00
snandini
e975bebe13 Release 5.2.0.57V
Release 5.2.0.57V

Change-Id: If2721019679867347ed99dcf0baff14339386c42
CRs-Fixed: 774533
2017-12-14 09:25:52 -08:00
Vignesh Viswanathan
ac6f2c30ac qcacld-3.0: Fix potential OOB read in dot11f.c
In function get_container_ies_len, nBuf is passed from caller function
as length of the buffer remaining in the frame. len is calculated from
the length field present in the IE. Then find_ie_defn is called with
nBuf + len as buffer length available leading to potential OOB read
in the function find_ie_defn.
Also in function get_container_ies_len, if len is greater than nBuf,
OOB read would occur in the caller function unpack_core.

In function unpack_core, len is calculated from the length field in
the IE buffer, then the IE is parsed in one of the unpack functions
where len is decremented without any check for min value of len.
If the value of len obtained from the IE buffer is less than the
minSize of the IE, then an integer underflow would occur.

1. In function get_container_ies_len, change calling of find_ie_defn
to use nbuf - len.
2. In function get_container_ies_len, if len > nbuf, return error.
3. In function unpack_core, add sanity check to make sure len is not
less thatn IE's minSize.

Change-Id: I8e42fb7e9674845d152d2ec26a592e02a1b562ab
CRs-Fixed: 2153003
2017-12-14 09:25:51 -08:00
snandini
f72ed5e06e Release 5.2.0.57U
Release 5.2.0.57U

Change-Id: Iaeaeb23b17b2f40599b24edf2229c9c88b363400
CRs-Fixed: 774533
2017-12-13 21:38:39 -08:00
Krunal Soni
1565067857 qcacld-3.0: Remove unused structure while sending probe resp template
While sending probe response template down to firmware, driver
populates some items in data-structure which is not getting used.

Remove those unused items and send only what is needed.

CRs-Fixed: 2148056
Change-Id: I1878f523f0f88c354854dfdb75e60e66c4ecb0e8
2017-12-13 21:38:38 -08:00
snandini
ba4b582f9a Release 5.2.0.57T
Release 5.2.0.57T

Change-Id: Id47bc2feab39123b113481c5b65164da939b6d65
CRs-Fixed: 774533
2017-12-13 20:08:21 -08:00
Sandeep Puligilla
c0f7744dc3 qcacld-3.0: Add a SSID length check
Add a SSID length validation check before
copying the SSID field to scan request
structure from connect profile.

Change-Id: Ic6297a28f8852db2e5d22c5c7d5b8eab7b76dbfd
CRs-Fixed: 2145706
2017-12-13 20:08:21 -08:00
Rajeev Kumar
658e849971 qcacld-3.0: Initialize message on stack in SME get peer info request
Initialize message local variable on stack in SME get peer info request
API before posting message via scheduler API.

Change-Id: I4471f3c3eacaacfb8e9145e61dd4eb33b921936f
CRs-Fixed: 2158564
2017-12-13 20:08:17 -08:00
Naveen Rawat
436979baa9 qcacld-3.0: Avoid bit addressing for HE Caps and HE Ops
Avoid bit addressing for HE Caps and HE Ops, and use structures
to access fields within HE Caps and HE Ops.

Change-Id: I1afa1926d1f4c7da5446870a7ad3121c06762f98
CRs-Fixed: 2145511
2017-12-13 20:08:14 -08:00
snandini
90067c812d Release 5.2.0.57S
Release 5.2.0.57S

Change-Id: I6712b03c0e59f6fa539f716db42407111b57a12c
CRs-Fixed: 774533
2017-12-13 19:18:04 -08:00
Rajeev Kumar Sirasanagandla
bb03b2cd0e qcacld-3.0: Fix add interface issue for multiple softaps
Conditional check to avoid add of same softap interface again
during SSR in __wlan_hdd_add_virtual_intf() is causing
regression (Ic3cd1eebb23482e9cebf04683533face178698b4) and
not allowing to add more than one softap interface.

To fix, add check for newly requested softap interface name with
previously registered softap interfaces and add if name is different
else return the existing one.

Change-Id: I103bd577db5c38e53b1ef12278a856a39790f8f7
CRs-Fixed: 2155854
2017-12-13 19:18:03 -08:00
Arunk Khandavalli
6a22788176 qcacld-3.0: Dont set mc addr list if the modules are closed
MC addr list is a ndo operation can be invoked by the kernel even
if the driver modules are closed which can result in accessing from
freed variables.
Reject the set/reset mc addr list when the modules are closed.

Change-Id: Ief83e18e6f8e431c7d68377f803ac602178f8913
CRs-Fixed: 2153099
2017-12-13 19:18:01 -08:00
Kabilan Kannan
1622a4799d qcacld-3.0: validate the return status in TDLS peer delete
TDLS peer delete function is not validating the return
status from PE, and it causes unpredictable errors.
Verify the return status and take the corresponding
action for the error cases.

Change-Id: I55c77842560917ca766fbfcbf26762d745a1d5e5
CRs-Fixed: 2144268
2017-12-13 19:17:58 -08:00
snandini
115e5b35f4 Release 5.2.0.57R
Release 5.2.0.57R

Change-Id: I9ed5d5ba23fd1eb97884c0bec8077570060e23ed
CRs-Fixed: 774533
2017-12-13 15:38:24 -08:00
Dustin Brown
677e0866c3 qcacld-3.0: Enable MC Timer runtime leak detection
In addition to any other resource leak checks being done at runtime,
check for any leaked MC Timers as well.

Change-Id: Ic576eed3cf9b19824db6864a6b7b0466a6f03ea9
CRs-Fixed: 2125799
2017-12-13 15:38:23 -08:00
snandini
1c24403ef0 Release 5.2.0.57Q
Release 5.2.0.57Q

Change-Id: Ib231f53612bf3dcb3b7383903582891efb4c4eb2
CRs-Fixed: 774533
2017-12-13 07:26:26 -08:00
Vignesh Viswanathan
8d2d6e0e26 qcacld-3.0: Add debugs to dump Vendor IEs in the AP's beacon/probe response
Add debugs to dump all the Vendor IEs of tag type 221 to identify
the IEs sent in the AP's beacons/probe response without need to sniffer.

Change-Id: I1896adc12b49a54e4cf39794e802c04f7ad22080
CRs-Fixed: 2156913
2017-12-13 07:26:25 -08:00
snandini
e3a0acd156 Release 5.2.0.57P
Release 5.2.0.57P

Change-Id: I6c957c489d930d17127b4110f76efd6676418f99
CRs-Fixed: 774533
2017-12-13 05:40:16 -08:00
Arunk Khandavalli
a4563d206d qcacld-3.0: Increase the hdd scan timeout to double of csr scan timeout
During frequent suspend/resume there is a possibility of csr scan timer
and hdd scan timer are racing eaching other. Increase the hdd scan timer
value to double of the csr scan timer value to reduce the race allowing
hdd to abort the scan incase of timeout.

Change-Id: I03995498df692dc92dc87e8ef1fc8fd316965df0
CRs-Fixed: 2151994
2017-12-13 05:40:16 -08:00
snandini
e7f0250036 Release 5.2.0.57O
Release 5.2.0.57O

Change-Id: I2fd742d4428af9f3a1e36d225c197b2d45157812
CRs-Fixed: 774533
2017-12-12 21:27:29 -08:00
Vignesh Viswanathan
96e0e702ec qcacld-3.0: Fix potential buffer overflow in wlan_hdd_cfg80211_set_ie
In function wlan_hdd_cfg80211_set_ie, RSN IE is parsed and copied
into the buffer  for length eLen + 2.
However, the buffer WPARSNIE is allocated only for
size. If eLen + 2 is greater than MAX_WPA_RSN_IE_LEN, a buffer overflow
would occur.

Add sanity check to make sure eLen does not exceed MAX_WPA_RSN_IE_LEN - 2.
Also increase the size of  to 255 as per the spec

Change-Id: Ibf44e8dc1010e6e32b2262357d3aa180926d5c99
CRs-Fixed: 2154216
2017-12-12 21:27:28 -08:00
snandini
3b0c91e96e Release 5.2.0.57N
Release 5.2.0.57N

Change-Id: Idd09b2c5123efe7e4b764bd415ccd863a7e472af
CRs-Fixed: 774533
2017-12-12 17:57:21 -08:00
Mohit Khanna
c4c222535f qcacld-3.0: Replace cdp peer_find_by_addr by get_ref_by_addr
Change the existing cdp_peer_find_by_addr by calls to
cdp_peer_get_ref_by_addr and cdp_peer_release_ref. The new APIs
make sure that the peer is valid as long as the peer reference is not
released (call to cdp_peer_release_ref)

Change-Id: Ibde9944a9721e5dcf0f7838058c229539efae7e4
CRs-Fixed: 2139801
2017-12-12 17:57:21 -08:00
Mohit Khanna
b7bec723c3 qcacld-3.0: Add peer APIs to get and release peer ref
The existing peer API cdp_peer_find_by_add does not maintain any peer
references. So a peer which is returned by the API may get deleted in a
different context. This may lead to access to a already deleted memory.

Fix the issue by introducing new APIs "peer_get_ref" and
"peer_release_ref" which make sure the peer is valid until it is
"released" (peer_release_ref is called).

Change-Id: I60175ee1d67f01e3ee4b48cb655d1728d29d08f4
CRs-Fixed: 2139801
2017-12-12 17:57:16 -08:00
Sandeep Puligilla
63633f697f qcacld-3.0: Fix memory leak in measurement request processing
Memory leak is detected while processing the
measurement report request while another request
is under processing.

Pass an address of the pointer to the rrm beacon
request API to get the allocated memory address.

Change-Id: I83c44a6a7a4a8e1ce56e48b008e7d784cca1dc6d
CRs-Fixed: 2144031
2017-12-12 17:57:13 -08:00
snandini
89e1acbc5a Release 5.2.0.57M
Release 5.2.0.57M

Change-Id: I57c9a610c5fe4daed09903ff8c6be119c48ac2d8
CRs-Fixed: 774533
2017-12-12 15:56:41 -08:00
Arunk Khandavalli
ebd1e37e15 qcacld-3.0: Reject system suspend in monitor mode
In the monitor mode when the system is suspended
FW trying to send packet to host which is not allowed leading to this
system crash.

Acquire wakelock once the device enters monitor mode and block
the system from entering suspend.

Change-Id: I27ba2d43fd7b84bc1ae7e6046ab635065872b2d2
CRs-Fixed: 2130546
2017-12-12 15:56:41 -08:00
Srinivas Girigowda
c7a1b0ad16 qcacld-3.0: Remove object files from qca-wifi-host-cmn folder
make clean is not removing the object files in
qca-wifi-host-cmn folder.

CRs-Fixed: 2151813
Change-Id: I56904cdf2154d6bd80aea7fd1bba8d28bd5fe21d
2017-12-12 15:56:38 -08:00
snandini
d43cb9804f Release 5.2.0.57L
Release 5.2.0.57L

Change-Id: I4fa06e09ee6a6ca4a914f88d5bbefccc6bd2a521
CRs-Fixed: 774533
2017-12-12 11:26:14 -08:00
Abhishek Singh
67e02bdb0b qcacld-3.0: Avoid adding duplicate qcn ie in directed probe req
If mac_ctx->roam.configParam.qcn_ie_support is enabled driver adds
qcn ie in directed probe req, even if its already present in the
additional scan IEs. Thus in probe request two qcn ie are present.

To fix this add qcn ie only if roam.configParam.qcn_ie_support is set
and qcn ie is not present in the additional scan IE.

Change-Id: I4c7ea32dc06e5c62b4043dbd3794348f8185fd9b
CRs-Fixed: 2152795
2017-12-12 03:06:29 -08:00
snandini
dc626447fa Release 5.2.0.57K
Release 5.2.0.57K

Change-Id: Idcee03310fe1deecd3d05c85d1095c58ea469c93
CRs-Fixed: 774533
2017-12-12 01:26:05 -08:00
Naveen Rawat
df221b7f73 qcacld-3.0: Avoid WMI_HE_OPS macros in lim
Avoid using WMI HE Ops macro in lim and use dot11f struct for
HE Ops instead. Keep the tranlation to FW interpratation of
HE Ops in wma layer only.

Change-Id: Ie94795541aaddb7ae291ff451b938ebb96f74dbf
CRs-Fixed: 2145510
2017-12-12 01:26:05 -08:00
gaurank kathpalia
bcbde36363 qcacld-3.0: Add check for iface in wma_setup_install_key_cmd
The host defines the iface ptr with :-
iface = &wma_handle->interfaces[key_params->vdev_id], at line 1588
and if the WLAN_FEATURE_11W, is not enabled , the host sets the
iface->is_waiting_for_key as false , without a NULL check of iface.
Fix is to add a NULL check for iface

Change-Id: I69ed8f881b678458d16f1f74e87e31959c04ec63
CRs-Fixed: 2156921
2017-12-12 01:26:01 -08:00
snandini
208f1dee58 Release 5.2.0.57J
Release 5.2.0.57J

Change-Id: I5c0e75986e328ab8f2cf5ffef80173bb583b6e7d
CRs-Fixed: 774533
2017-12-11 22:08:19 -08:00
Paul Zhang
99fe884782 qcacld-3.0: Implement interface to set WLM level
WLAN Latency module (WLM) is added by fw to gain latency
because of schedule out of service like power saving,
scanning, roaming etc. per the level set by framework.

Change-Id: Id4305e5e66dcce464447aff56296c7d027347ea2
CRs-Fixed: 2142391
2017-12-11 22:08:19 -08:00
snandini
33e8661c51 Release 5.2.0.57I
Release 5.2.0.57I

Change-Id: I163558662169c4fa5ec438185756ca8b2d08664f
CRs-Fixed: 774533
2017-12-11 21:26:02 -08:00
hqu
8925c8f767 qcacld-3.0: Move log level to info high if tx hits invalid peer state
For sns test in some scenarios when tx hits invalid peer state it will
print massive log so that it will lead to WD bark issue.

Move log level to lower info high from warn if tx hits invalid peer state.

Change-Id: I91d414e7203bf1e00094ca7b2fcebf80f4102082
CRs-Fixed: 2156472
2017-12-11 21:26:01 -08:00
Ashish Kumar Dhanotiya
7b1fe06cc7 qcacld-3.0: Add missing reg pairs in driver
Regpair for DM, DO, HN, JM, NA, PA, SN, XA are missing
which results in a crash.

Add regpair for country codes  DM, DO, HN, JM, NA, PA, SN, XA.

Change-Id: I6d29f16a549121b9588d6fb68b78e14375e8eb8e
CRs-Fixed: 2154385
2017-12-11 21:25:58 -08:00
wadesong
1ef396242d qcacld-3.0: Fix ACS scan abnormal cancellation problem
When a BSS is being started, the WLAN driver will abort all
scan requests, including the ACS scan initiated by the
secondary SAP, which will result in secondary SAP start
failure.

Use a different function to abort scans initiated by the
current session which is doing BSS starting so ACS scan
initiated by a second SAP will not be affected.

Change-Id: I442431e92e31cc8d3eb302ccca4249d0b4bedf82
CRs-Fixed: 2154230
2017-12-11 21:25:56 -08:00