Reduce some of error log levels to info level in suspend path to avoid
logging them to console.
Change-Id: I61096bdbf757cd21f959fa716f35f65cd27cc9cc
CRs-Fixed: 1048395
In function hdd_hostapd_sap_event_cb frame size exceeds 1024 bytes
due to changes to some structures in msm-4.4 kernel, so compilation
for 32-bit systems might fail
Thus, reduce structure allocations on heap instead of stack in
hdd_hostapd_sap_event_cb.
Change-Id: Ie710afbd6c066a3d770c6c9aac0cfd675ea57f53
CRs-fixed: 1046882
connection status is not updated at HDD because
eCSR_ROAM_CANCELLED is not handled at hdd callback.
Added support for eCSR_ROAM_CANCELLED so that HDD updates
connection status to upper layers.
Change-Id: I4c185bb3a370a0562de6431fde8952c68789de53
CRs-Fixed: 1043090
Avoid converting invalid frequency i.e zero frequency to channel using
ieee80211_frequency_to_channel() function.
Change-Id: I4a32591e313183348180a1d30a950b4b174a27cc
CRs-Fixed: 1047642
In function wma_send_peer_assoc, logging error when wmi_unified_peer_assoc_send
failed. But error type used in this log is wrong, use "status" instead of "ret".
Change-Id: I8dbdd68e16d665e5a7749e10c7006da9f96a6fd7
CRs-Fixed: 1042968
In function wma_get_mcs_idx variable "match_rate" is not initialized.
Initialize "match_rate" to avoid dereferencing uninitialized variable.
Change-Id: Id4c7e1913628007087c58149e4b7033320d4cc79
CRs-Fixed: 1042968
In function wma_add_bss_sta_mode, variable "peer" is not initialized.
Possibly we may pass this variable to wma_remove_peer function as is
and that can be dereferenced inside wma_remove_peer function.
So initialize peer with NULL to avoid dereferencing uninitialized variable.
Change-Id: Ibc484759b5e92052a3500137464e47287ccad939
CRs-Fixed: 1042968
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
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
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
Few errors are reported which causes format string vulnerability.
Fix those errors by providing appropriate string format.
Change-Id: Idbb0b5734d30fd28c191cfdee991cce0b6d77dac
CRs-Fixed: 1041911
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
In hdd_reassoc check for LFR2/LFR3 before calling appropriate API
for reassociation.
Change-Id: I40e7de6dbc093e93053c12d4628b543b32cece6b
CRs-Fixed: 1044268
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
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