Commit Graph

1351 Commits

Author SHA1 Message Date
Arif Hussain
a86aa4362b qcacld-3.0: Code clean-up in rrm_process_beacon_report_xmit
Remove extra variable "flag_bss_present" used to indicate if scan
result present based on pointer "bss_desc". Instead use "bss_desc"
itself.

Change-Id: I3fe5474d41219b44cbe38fa88c51013526c081c9
CRs-Fixed: 1042968
2016-07-31 01:06:17 -07:00
Arif Hussain
995fcaf8d8 qcacld-3.0: Fix null pointer dereference in __lim_process_sme_join_req
Add input validation code in function __lim_process_sme_join_req
to make sure "mac_ctx" and "msg_buf" are not null.

This input validation will prevent any possible null pointer dereference
issues.

Change-Id: Ib12ffbe1d6fdcd841fd10158b59d648d0b94aa47
CRs-Fixed: 1042968
2016-07-31 01:06:16 -07:00
Vishwajith Upendra
762ee24a43 Release 5.1.0.22M
Release 5.1.0.22M

Change-Id: I0d5a4c009902aeac82c6e4a5f516ad4067903b63
CRs-Fixed: 688141
2016-07-29 18:15:21 -07:00
Krunal Soni
35b404c206 qcacld-3.0: Fix to avoid checking PCL when BSSID is given by upper layer
New flavor of OS is sending bssid along with STA connect command. When
connect command comes with bssids then don't allow Preferred channel
list algorithm as it won't be of any use and skipping the algorithm will
improve initial scan time.

Add log to inform whether BSSID hint is given by upper layer.

Change-Id: I9c1f41a0e00f9b2afc19629558b93a2482da6581
CRs-Fixed: 1047052
2016-07-29 18:15:21 -07:00
Krunal Soni
4442777004 qcacld-3.0: Fix errors which are causing format string vulnerability
Few errors are reported which causes format string vulnerability.

Fix those errors by providing appropriate string format.

Change-Id: Idbb0b5734d30fd28c191cfdee991cce0b6d77dac
CRs-Fixed: 1041911
2016-07-29 18:15:19 -07:00
Himanshu Agarwal
5e302a7e6e qcacld-3.0: Avoid NULL pointer dereference when ASSERT disabled
Propagation from qcacld-2.0 to qcacld-3.0.

Avoid NULL pointer dereference when ASSERT is disabled by adding
extra handling in epping_tx_complete_multiple.

Change-Id: I06696bb2588620244fafde431c4cd56bcb8a4301
CRs-fixed: 1038668
2016-07-29 18:15:18 -07:00
Himanshu Agarwal
8903461b0f qcacld-3.0: Move QDF_NBUF_UPDATE_TX_PKT_COUNT before freeing netbuf
Propagation from qcacld-2.0 to qcacld-3.0.

Move QDF_NBUF_UPDATE_TX_PKT_COUNT in ol_tx_completion_handler to make
sure that netbuf is not accessed after it is freed.

Change-Id: Ifba9de788b11ce8cb323827d10f8005029609231
CRs-fixed: 1040612
2016-07-29 18:15:17 -07:00
Nitesh Shah
0102cac005 qcacld-3.0: Avoid dereferencing of NULL pointer
The function __lim_process_sme_join_req dereferences the
sme_join_req pointer without checking even if msg_buf
is NULL. The function also returns if qdf_mem_malloc
fails for sme_join_req or mlm_join_req without giving any
join response.

Fix is to use lim_get_session_info function that checks
if msg_buf is NULL, and then assign the corersponding
value. The function __lim_process_sme_join_req also send
the join response with the failure reason.

Change-Id: I712f814b90ecd4c0322355dd9022441019ecd7a4
CRs-Fixed: 1034734
2016-07-29 18:15:16 -07:00
SaidiReddy Yenuga
d83236619f qcacld-3.0: Add NULL check for QDF_MODULE_ID_HIF context
The context pointer return from the cds_get_context api
for QDF_MODULE_ID_HIF can be NULL.

Add NULL check to avoid hif_ctx pointer dereferencing

CRs-Fixed: 1041960
Change-Id: Ibdcf8809a998ec42cecd5df1cf6884fa81bb9dcb
2016-07-29 18:15:15 -07:00
Sandeep Puligilla
ee0e41dbcc qcacld-3.0: Add more debug logs in scan dequeue API
Add more logs in scan dequeue logic.

Change-Id: I79d6157fbfc407be33d8135774ff8ee407475cfc
CRs-Fixed: 1047332
2016-07-29 18:15:14 -07:00
Ravi Joshi
24477b7c2b qcacld-3.0: Add support for multicast traffic over NDI
Add support for passing multicast traffic over nan data interface.

Integration from qcacld-2.0 to qcacld-3.0.

CRs-Fixed: 1046519
Change-Id: Iaf012c08e6b5a7a6327b84b12c06ab27963a704c
2016-07-29 18:15:13 -07:00
Ravi Joshi
4f447cb765 qcacld-3.0: Configure multicast filters for nan data interface
Configure multicast filters for the nan data interface.
Request to configure multicast filters is not honored for the
NAN data interface in the current implementation.

Integration from qcacld-2.0 to qcacld-3.0.

CRs-Fixed: 1046519
Change-Id: I48a4a30fd9f6369fe398254184d0016a35c0a6b3
2016-07-29 18:15:12 -07:00
Arif Hussain
2a7c1f3467 qcacld-3.0: Fix incorrect logic of atomic variable dfs_radar_found
Change "qcacld-3.0: change dfs_radar_found to atomic variable"
(Change-Id If95e2ce5a0c837f36a92673312ea4d2fc7b96abe) some of the
operations on atomic variable dfs_radar_found are incorrect. If the
operation require to test and set atomic variable then using two
different atomic operation to test and then set value does not make
whole operation atomic.

Must use single operation to test and set atomic variable.

Change-Id: I93e322ed26c51bf75432738cc24be525224f47a4
CRs-Fixed: 1043085
2016-07-29 18:15:09 -07:00
Jeff Johnson
630f9e7a26 qcacld-3.0: Convert wlan_hdd_ext_scan.c to unified logging
Currently the HDD code uses a variety of logging APIs.  In
qcacld-3.0 HDD should converge on a unified set of logging APIs.
Update wlan_hdd_ext_scan.c to use the unified set of APIs.

Change-Id: I2777678a6d85d0d7c87b37144219cf18dc5c7d3d
CRs-Fixed: 937650
2016-07-29 18:15:08 -07:00
Varun Reddy Yeturu
56054ec828 qcacld-3.0: Enable Dense environment Roaming by default
Enable the Dense environment roaming feature by default.
This feature would detect a dense environment dynamically
and modify the roaming thresholds to provide a smooth and
soft handoff behaviour for the user.

Change-Id: I2d234db947cb248214a9abcddd353c3dfe28ac1a
CRs-Fixed: 1044182
2016-07-29 18:15:07 -07:00
Vishwajith Upendra
d0272bd56b Release 5.1.0.22L
Release 5.1.0.22L

Change-Id: Iff0339dcb471a7a23e98d9e98b33e74f2d8508b7
CRs-Fixed: 688141
2016-07-29 13:05:10 -07:00
Amar Singhal
8b2e3f8026 qcacld-3.0: Regulatory updates
Change 2G regulatory domain for Pakistan. Add country Namibia.
Add regdomain APL14_WORLD and APL14.

Change-Id: I5ebb27b2ded4548c107331d22e962c4c2d2c3bd5
CRs-Fixed: 1023830
2016-07-29 13:05:09 -07:00
Vishwajith Upendra
1e252e43d2 Release 5.1.0.22K
Release 5.1.0.22K

Change-Id: I9624d0b6a78ed5fc18dc0e21abd7f524eeb9e5b7
CRs-Fixed: 688141
2016-07-28 19:27:34 -07:00
Arif Hussain
8bdf4bcc05 qcacld-3.0: SAP DFS: Fix RSSI issue in extension80 segment
RSSI_COMB is not reliable indicator of RSSI for extension80
when operating in 80p80 non-contiguous mode due to existing
hardware bug.

Add workaround in software to use pulse_rssi instead of RSSI_COMB.

Change-Id: I89c829ecefca2dcc75bb494943c98bdb77470de6
CRs-Fixed: 1043760
2016-07-28 19:27:33 -07:00
Vishwajith Upendra
03bc0495f6 Release 5.1.0.22J
Release 5.1.0.22J

Change-Id: I28df92a0a728fc8ec314816b3157de816f325636
CRs-Fixed: 688141
2016-07-28 17:32:06 -07:00
Kabilan Kannan
163fd0b20b qcacld-3.0: Add support for TDLS over P2P clients
P2P data traffic can be improved by creating TDLS
connection between two P2P clients.
Add changes in the host driver to enable TDLS
connection between two P2P clients.

Change-Id: I2a9fe21bb3be160428ab5d8f04281802faa5f21b
CRs-Fixed: 999560
2016-07-28 17:32:05 -07:00
Vishwajith Upendra
83c2ebaaa2 Release 5.1.0.22I
Release 5.1.0.22I

Change-Id: I4c0b82d2322e78c844246ea32fc9e327b140e1cd
CRs-Fixed: 688141
2016-07-28 15:35:16 +05:30
Mohit Khanna
b0886d6918 qcacld-3.0: Fix use of spinlock for pSchedContext->affinity_lock
In existing implementation, affinity lock is implemented as a spinlock.
The set_cpus_allowed_ptr API under the spinlock can cause the processor to go to
sleep. This is incorrect and causes a KERNEL bug when invoked.

Correct the issue by replacing spinlock with a mutex.

Change-Id: I844c19d18e6f71916592c4b35ff5f1a2b6cdbaa0
CRs-Fixed: 1046463
2016-07-28 15:35:03 +05:30
Arun Khandavalli
a96c2c08ec qcacld-3.0: refactor hdd_wlan_get_version to be adapter independent
hdd_wlan_get_version is invoked with adapter as a parameter, internally
in the function it is used to extract the hdd context.

Directly pass the hdd context to hdd_wlan_get_version so that it shall
be adapter agnostic and clean up the local variables for the camelcase
and hungarian notion.

Change-Id: I56a8eea67354f9516b974db74aa42fbad37592a0
CRs-Fixed: 1035792
2016-07-28 15:34:49 +05:30
Arun Khandavalli
2358d52766 qcacld-3.0: Create new wrapper function for setting fw params
Once the adapter is opened, various parameters set to fw.
Create a wrapper function which will send all these parameters
to FW.

Change-Id: I1c31e4e2ce17dd296a0555653aec6ff75abf71d0
CRs-Fixed: 1017335
2016-07-28 15:34:24 +05:30
Arun Khandavalli
7e857c39f8 qcacld-3.0: Create different functions for the (de)initializing adapter
Create new wrapper functions for initializing the modes of the adapter
for the station, ap and FTM mode.

Create wrapper functions for the de-initialization of the STA/SAP adapter.

Change-Id: Ic22aca5b3f8c4e5f3a1e4d8f60bf6f95bbfeee14
CRs-Fixed: 1017332
2016-07-28 15:34:11 +05:30
Arun Khandavalli
4b55da70d6 qcacld-3.0: Refactor hdd callback (de)registration into a single function
As part of "load once unload never" architecture, cds modules can
be opened and closed several times. Refactor the hdd callback registration/
de-registration into hdd_register_cb/hdd_deregister_cb which can
be invoked during the open/close of the modules respectively.

Change-Id: I2da9018ff2fa6188e61e007c896bc13e8fddcb7d
CRs-Fixed: 1026817
2016-07-28 15:33:50 +05:30
Arun Khandavalli
c811dccdac qcacld-3.0: Create ini config structures for cds
Update ini configuration parameters for cds modules in the driver,
this helps in avoiding layer violation of using the hdd context in
cds modules.

Change-Id: Iff149cc51ea5eacae4f84d83c51d0ed63834ba50
CRs-Fixed: 1026817
2016-07-28 15:33:17 +05:30
Vishwajith Upendra
2c27249b3c Release 5.1.0.22H
Release 5.1.0.22H

Change-Id: I3b20fe9b511e9009d2315374b8873e4bedf3936d
CRs-Fixed: 688141
2016-07-28 15:32:58 +05:30
Naveen Rawat
48f51d04e9 qcacld-3.0: Fix NPD of ies_local in csr_roam_join_handle_profile
In csr_roam_join_handle_profile variable ies_local is populated if input
argument result is not NULL. We cannot proceed to with roaming if IE parsing
fails, so abort roaming if input argument "result" passed to function
csr_roam_join_handle_profile is NULL.

Change-Id: I52c35a44598028115c48aff7827f3fc90bd48cb1
CRs-Fixed: 1038237
2016-07-28 15:32:46 +05:30
Naveen Rawat
b2109f61d4 qcacld-3.0: Add NPD check wma_set_wifi_start_packet_stats
Add NPD check after call to cds_get_context in wma_set_wifi_start_packet_stats

Change-Id: I69525bc15261cf6bf9ee525fc0517c3661506f44
CRs-Fixed: 1044864
2016-07-28 15:32:30 +05:30
Naveen Rawat
0733290617 qcacld-3.0: Do not start new connection if cfg80211 request REASSOC
Change return type of wlan_hdd_reassoc_bssid_hint to indicate REASSOC
request rather than success or failure of hdd_reassoc request. If this
function returns false, continue with connection else return status code
from the function.

Change-Id: Ib0f894d329146d11fe80995248e3b3c343fb7372
CRs-Fixed: 1046841
2016-07-28 15:32:12 +05:30
Naveen Rawat
05376ee6c0 qcacld-3.0: Check for LFR3 to call appropriate API in hdd_reassoc
In hdd_reassoc check for LFR2/LFR3 before calling appropriate API
for reassociation.

Change-Id: I40e7de6dbc093e93053c12d4628b543b32cece6b
CRs-Fixed: 1044268
2016-07-28 15:31:59 +05:30
Varun Reddy Yeturu
3e91dad283 qcacld-3.0: Use Reassociation during BSS Transition
This is qcacld-2.0 to qcacld-3.0 propagation

The BSS transition request is handled by the supplicant.
The supplicant upon receiving the request will issue a
connect request to the driver with a hint of prev_bssid
telling the driver to perform a re-association.
Use this hint in the driver and initiate a re-association.
While doing the re-association, there is no need to do a
scan if the target AP is already present in the scan cache.
Optimize the re-association code to not do a scan if not
necessary in this particular case.

Change-Id: Idf1a7058009a8d2082bc1742dca1364cf59c405b
CRs-Fixed: 1010596
2016-07-28 15:31:44 +05:30
Arif Hussain
74fc571c11 qcacld-3.0: Fix the Nss config issues in 160MHz
Currently pdev_nss is used to populate VHT and HT capabilities
causing STA to advertise  2NSS capabilities in peer assoc for 160MHz.
Populate the VHT and HT MCS based on Nss value of that session
and send the correct Nss values to FW to use appropriate rates in Tx.

Change-Id: If78e7d4fb2238c1e83ee4f8f71a9ace2fcaddfd9
CRs-Fixed: 1043757
2016-07-28 15:31:21 +05:30
Vishwajith Upendra
4a2e22862b Release 5.1.0.22G
Release  5.1.0.22G

Change-Id: Ie0106474bc3467a8c22e642d175b6dbf6bde7d35
CRs-Fixed: 688141
2016-07-28 15:30:32 +05:30
Kabilan Kannan
c89fe71651 qcacld-3.0: Fix memory allocation error in TDLS peer_assoc cmd
Memory allocation input is not validated correctly in
TDLS Peer assoc command, which triggers intermittent
failures.
Validate the memory allocation input to avoid
failures.

Change-Id: Ibd6fc4d62799783721acee7c9cc339ac6febd2e5
CRs-Fixed: 1044706
2016-07-27 22:59:20 -07:00
Service qcabuildsw
6f28105207 Merge "qcacld-3.0: Fix TDLS VHT channel width information" into wlan-cld3.driver.lnx.1.1-dev 2016-07-27 22:33:49 -07:00
Service qcabuildsw
ba28159d8e Merge "qcacld-3.0: Remove duplicate entry of the STA" into wlan-cld3.driver.lnx.1.1-dev 2016-07-27 22:33:47 -07:00
Kabilan Kannan
b76eff2ede qcacld-3.0: Fix TDLS VHT channel width information
TDLS VHT channel width information can be read from session
entry, but the value needs to be readjusted as per our
protocol stack implementation.
Add changes in the host driver to fix TDLS VHT channel width
information.

Change-Id: I8797b298e46213ace014557697a449ea4ae560b6
CRs-fixed: 1044693
2016-07-26 22:33:55 -07:00
Sandeep Puligilla
2eeaf6af91 qcacld-3.0: Remove duplicate entry of the STA
In AP+AP scenario, duplicate STA entry triggers assert at
firmware during the create peer.

Remove the stale entry of the sta before adding
a new entry in session.

Change-Id: I9837160b42f72aa53872a0c2814058c0576289d4
CRs-Fixed: 1043189
2016-07-26 22:33:46 -07:00
Service qcabuildsw
d575348ef7 Merge "qcacld-3.0: Call htc_can_suspend_link in wma_enable_wow_in_fw" into wlan-cld3.driver.lnx.1.1-dev 2016-07-26 15:12:47 -07:00
Houston Hoffman
77f0e34e8f qcacld-3.0: Call htc_can_suspend_link in wma_enable_wow_in_fw
wma_enable_wow_in_fw was passing the wrong handle to hif_can_suspend_link.
The wrapper function htc_can_suspend_link will properly extract the hif
context and forward the request.

Change-Id: I40f0c2301b686625ea58ef692f816856bbdcf06b
CRs-Fixed: 1045959
2016-07-26 14:36:58 -07:00
Service qcabuildsw
d8792eda53 Merge "Release 5.1.0.22F" into wlan-cld3.driver.lnx.1.1-dev 2016-07-26 11:31:34 -07:00
Service qcabuildsw
0e314de515 Merge "qcacld-3.0: Address 32 bit specific compilation issue" into wlan-cld3.driver.lnx.1.1-dev 2016-07-26 11:31:32 -07:00
Service qcabuildsw
c36661d86a Merge "Release 5.1.0.22E" into wlan-cld3.driver.lnx.1.1-dev 2016-07-26 11:31:06 -07:00
Service qcabuildsw
f66bf6ef06 Merge "qcacld-3.0: Add vendor ID and fix WMI command parameters" into wlan-cld3.driver.lnx.1.1-dev 2016-07-26 11:31:03 -07:00
Service qcabuildsw
43491abdd8 Merge "qcacld-3.0: Add vendor ID information in vendor command" into wlan-cld3.driver.lnx.1.1-dev 2016-07-26 11:31:01 -07:00
Service qcabuildsw
59e8af9b95 Merge "Release 5.1.0.22D" into wlan-cld3.driver.lnx.1.1-dev 2016-07-26 11:30:58 -07:00
Service qcabuildsw
550a52159d Merge "qcacld-3.0: Avoid NULL dereference in hdd_init_qdf_ctx()" into wlan-cld3.driver.lnx.1.1-dev 2016-07-26 11:30:54 -07:00