Remove legacy apis call from out side of data path.
Replace legacy apis to cdp apis.
cds module.
Change-Id: I3f26b69711f494bad7fbaf07c5b8961125f13e65
CRs-fixed: 1075736
When cds_open fails, several cleanup actions are missed.
cds_shutdown_notifier_purge
hdd_green_ap_deinit
wlan_hdd_deinit_tx_rx_histogram
Change-Id: I9812b26636b1fd82320de323538777ac048ea824
CRs-Fixed: 1089946
Make changes for per per Rx context LRO manager, this addresses
all parallel Rx concurrency issues. There by removes all the contention.
Change-Id: I3609bcdb67e0046fac5a22bba9cb6a5eb4bcbe84
CRs-Fixed: 1079320
With the new statemachine cds start/stop will not be invoked without an
interface up from upperlayer. As part of cds stop host sends de-initialization
sequence to firmware, If there is no interface up from the upper layer and
driver gets removed, host driver doesn't send the de-init
inidication to firmware and starts closing its modules because of this
fw & host are out of sync.
To mitigate the issue send the de-init sequence during if the modules are
opened but not enabled.
Change-Id: I52fddc1b8765105c44192085ba93bf00d14eb0bd
CRs-Fixed: 1073599
IPA Disconnect events are not sent to IPA driver in case
of SSR. This is resulting in mismatch between IPA driver
and HOST driver.
Reset IPA disconnect events during SSR, to have coherent
connect/disconnect counter.
Propagation from qcacld-2.0 to qcacld-3.0.
Change-Id: Ie07e5840fc997f41b987fc7e548e1a7e3484c113
CRs-Fixed: 1034712
The kernel is unmapping the virtual address of memory allocated on the stack.
To avoid kernel page fault when delayed handlers try to check the out of scope
structures magic value for liveness, make the contexts static.
A better solution is under development but will need more testing.
Below hdd functions are taken care of:
hdd_get_bpf_offload
hdd_get_tsm_stats
wlan_hdd_get_link_status
wlan_hdd_get_rssi
wlan_hdd_get_snr
wlan_hdd_get_linkspeed_for_peermac
wlan_hdd_get_class_astats
wlan_hdd_get_temperature
Change-Id: I9b6decba1087e2d30f1572cc9d020b2b0cb5cec4
CRs-Fixed: 1087903
Android framework indicates dhcp start and stop using power save
(ps disable for dhcp start, ps enable for dhcp stop).
Use this new indication method for any of the dhcp dependent operations.
Also remove resetting dhcp_done flag in csr_roam_connect() function,
as assumption of dhcp will trigger for every new connection is not
correct, like in static IP address case there won’t be dhcp indications,
and this flag remains false.
Change-Id: I3a995d859c39591b0a9fb4bc6e636e580c02dbd4
CRs-Fixed: 1088523
There could be a possible race condition between WDI enable_disable
in STA+SAP mode due to STA WDI disable for every client disconnection.
Fix to disable STA WDI only when the last client disconnected.
Change-Id: I02206037708f56bb7d46e0ae280429949fd7beab
CRs-Fixed: 1086926
qcacld-2.0 to qcacld-3.0 propagation
Currently, host takes sme global mutex lock while sending
flush log cmd to firmware. This api is also invoked from
softirq context hence leading to crash.
As a part of this fix, Remove Sme lock because host does not
modify the sme global parameters during sending this cmd to
firmware.
Change-Id: If6620d458f54563ea7e9f944721498184fbbdb5d
CRs-Fixed: 1073915
qcacld-2.0 to qcacld-3.0 propagation
Currently, kernel invoke the regdomain notifier to host driver
using registered callback. If kernel call this callback after
cfg80211 aka system suspend, Then because of race condition host
might send the PDEV SET REGDOMAIN/PARAM to fwr after WOW ENABLE
cmd which is not correct cmd sequence.
Change-Id: Ie3cd94d86345c9b6de0c5597d23e0b0dc6751937
CRs-Fixed: 1075079
While processing open adapter, error handling is not taken
care appropriately, leading to device crash due to invalid
memory access.
Handle error cases cleanly while processing open adapter.
Change-Id: If01d1018ddc3b9a17c4d059c30bcc3a424538c3e
CRs-Fixed: 1087824
qcacld-2.0 to qcacld-3.0 propagation
Current implementation does not handle to send a SCAN ABORT indication
to upper layers, on a Band change when a scan is in progress
Changes are made on SME layer by configuring a 'abortScanIndication'
flag which is a part of the scan command, so that the necessary
action is taken care based on the flag value.
Change-Id: Iffe7e65dc1e8c7951ce3c4be3c21ef2103091d13
CRs-Fixed: 879520
qcacld-2.0 to qcacld-3.0 propagation
Currently host sends only clear AC stats mask to firmware during
disconnection hence PEER stats have large random garbage values.
As a part of this fix, host ensure to send clear all PEER stats
mask to firmware.
Change-Id: I804735d8e85769b04a33008c3b9b72029d0c4368
CRs-Fixed: 1019043
Del virtual interface is not processed while un-initializing SAP
as validate session-id fails, because sessionId is invalidated
in case of SAP during the stop ap leading to improper cleanup
during the sap close.
Also, del virtual iface can come even when the interface is down.
Hence, don't validate the sessiodId while processing del virtual
iface.
Change-Id: Ic1d365e09e0d280fa5d4a1543a594a08a652a717
CRs-Fixed: 1086647
qcacld-2.0 to qcacld-3.0 propagation
WMM access category stats of old BSS getting added to stats of new BSS
on network switch.
To mitigate this issue, clear WMM access category stats on disconnect.
Change-Id: Icd1ce4ae0595098f95d5534b4b752c5692264fb8
CRs-Fixed: 999832
Propagate from qcacld-2.0 to qcacld-3.0
Currently there are some places where break is missed at the end of
switch case. Add fix to correct it.
CRs-Fixed: 1063255
Change-Id: I117bdf7280e7cd1127d2251f1412a08ac8aadbc9
Propagate from qcacld-2.0 to qcacld-3.0
Currently there are some places where array name is compared to NULL
in MAC. Add fix to correct it.
CRs-Fixed: 1063255
Change-Id: I4f620feff23475d0b719fae7ef8e0ac1ab3b8908
Propagete from qcacld-2.0 to qcacld-3.0
In wmi_unified_send_txbf() the local variable is not initialized,
add initialization before use it to avoid some risk.
Change-Id: I9172652f65886e8c95801af46554d75262fdf803
CRs-Fixed: 979671
Propagate from qcacld-2.0 to qcacld-3.0
Add vos_mem_free() in wma_tdls_event_handler() to avoid memory leak
in the error case.
Change-Id: I845d5ee9f42569efddb89e29bfd158de5ab7f0d9
CRs-Fixed: 979671
Propagate from qcacld-2.0 to qcacld-3.0
In WLANSAP_ScanCallback(), the local variable event is contained
in a unnecessary compiler marco. Remove it to avoid some compilation
error risk.
Change-Id: Ia3249c464f909896af5f242510742c68ad02cc5a
CRs-Fixed: 979671
Propagate from qcacld-2.0 to qcacld-3.0
In limPerformFTPreAuth(), ft_ies pointer itself is used to determine
whether FT IE is present which is incorrect way to determine. Use
ft_ies_length instead to determine whether FT IE is present.
Change-Id: I36329de0ae41c03383f193b43eea214aed2770ca
CRs-Fixed: 979671
qcacld-2.0 to qcacld-3.0 propagation
If wlan_hdd_qcmbr_command returns -EAGAIN and
pqcmbr_data->copy_to_user is set to 1, -EAGAIN will be
overwritten by the return value of copy_to_user.
Only call copy_to_user when wlan_hdd_qcmbr_command returns 0.
Change-Id: Ie75b3f7329d89766641caec1f377f38127937976
CRs-Fixed: 965103
qcacld-2.0 to qcacld-3.0 propagation
Fail to allocate local peer id when connecting the last 32th station in
AP+AP mode. The reason is the OL_TXRX_NUM_LOCAL_PEER_IDS is defined to 33,
but each AP's peer will occupy one ID. So the remainder are not enough,
change this macro to 34 will fix this issue.
Change-Id: Ie5b63b6885fd7f2d4f941b6ffad43cbac57040e5
CRs-Fixed: 1085367
qcacld-2.0 to qcacld-3.0 propagation
A macro should be used for radar table allocation/freeing
instead of a literal number
Change-Id: Iccf2aee57f52dedeebb87f1445edd9d30bbdeec3
CRs-Fixed: 1072046
qcacld-2.0 to qcacld-3.0 propagation
IE buffers for probe resp, assoc resp and beacon should be freed
when 1)SAP starting fails; 2)SAP starting success event is signaled
Change-Id: Ic9cc1c8d58667f34fbc877aeca4405b0156b1264
CRs-Fixed: 1071990
As part of cds connection in progress validation
check, CDS is accessing the session id from an
adapter which is just created and initialized with
an invalid sessionid. CDS passes the invalid session
id to SME. SME is trying to access global structure
with the same session id and triggered the crash.
Add a session id validation check in SME before
accessing the global mac structure.
Change-Id: Ic0884b2121509807cabfc62b47238985c0e1356e
CRs-fixed: 1087264
We need to disable any channel that does not have 20 MHz
bandwidth flag set. Use pointer assignment to accesss wiphy.
Local copy does not work.
CRs-Fixed: 1087967
Change-Id: Ia3b783046d0f08ebb039ef808e1add1dd8fd5fde
qcacld-2.0 to qcacld-3.0 propagation
Currently, cds_trigger_recovery does not support silent recovery
instead host send WMI_FORCE_FW_HANG_CMDID and wait for timeout.
In cases where wmi cmd cannot be sent to firmware, host needs
silent recovery.
As a part of this fix, Parameterize the cds_trigger_recovery
function for silent recovery.
Change-Id: I9bb631f7346a267a10348037c49606af43c6be4f
CRs-Fixed: 1053303
In function hdd_process_regulatory_data, array reg_channels is limited
by enum value NUM_CHANNELS. But there is no check on the index
to the reg_channels. This can lead to a buffer overflow situation.
Prevent buffer overflow for reg_channels by checking index
against NUM_CHANNELS.
Change-Id: I6050e6616e9bd6365943d2aaf8fbdb53a92f17d0
CRs-Fixed: 1083028
In function wlan_hdd_shutdown, hif_ctx is not validated
before use in hif_disable_isr. This can lead to a null pointer exception
in certain situations.
Validate hif_ctx before use in shutdown function.
Change-Id: Id50d87378ee176f6a48a790ec7027994aef0adf8
CRs-Fixed: 1083020
Currently there are instances of the "\" line continuation character
being used inside quoted strings. This has the undesired side effect
of including the indentation of the continued line as part of the
quoted string. In addition per the Linux Coding Style user-visible
strings should not be split. So remove all incorrect instances of "\"
line continuation from FWLOG.
Change-Id: Ib4a64cfa6e05966a7e0151c249304d34088ff2e4
CRs-Fixed: 1087325
Currently there are instances of the "\" line continuation character
being used inside quoted strings. This has the undesired side effect
of including the indentation of the continued line as part of the
quoted string. In addition per the Linux Coding Style user-visible
strings should not be split. So remove all incorrect instances of "\"
line continuation from WMA.
Change-Id: Ibf93c4725c8765ae02b53193c3f5d8aa2a886bfc
CRs-Fixed: 1087302
Currently there are instances of the "\" line continuation character
being used inside quoted strings. This has the undesired side effect
of including the indentation of the continued line as part of the
quoted string. In addition per the Linux Coding Style user-visible
strings should not be split. So remove all incorrect instances of "\"
line continuation from SAP.
Change-Id: Ic53b6570df501e8eb7f9812279aca1c748b66fba
CRs-Fixed: 1087292
Currently there are instances of the "\" line continuation character
being used inside quoted strings. This has the undesired side effect
of including the indentation of the continued line as part of the
quoted string. In addition per the Linux Coding Style user-visible
strings should not be split. So remove all incorrect instances of "\"
line continuation from SME.
Change-Id: I7b7201aca15eda0800db33ffd15e51c3692a9a4d
CRs-Fixed: 1087288
Currently there are instances of the "\" line continuation character
being used inside quoted strings. This has the undesired side effect
of including the indentation of the continued line as part of the
quoted string. In addition per the Linux Coding Style user-visible
strings should not be split. So remove all incorrect instances of "\"
line continuation from HDD.
Change-Id: I9c63be20f01cb14c615b0a1c786ed06a3c2094aa
CRs-Fixed: 1087272
Session entry Nss value is updated by user configuration
and device capabilities. FW also provides the Nss value in
vdev start response based on current hardware mode. If the
current HW mode is DBS, FW gives the Nss value as 1 and if it
is updated in session then performance will be downgraded.
Do not update the session Nss with Nss given in vdev start
response by FW.
Change-Id: I4b9d5f98f09b437bb25568c82b15598aed493f27
CRs-Fixed: 1086940
qcacld-2.0 to qcacld-3.0 propagation
Driver logs timestamp format is different from logcat logs,
it's not user understandable and difficult to correlate with other logs.
This fix includes
1. Add hr:min:sec:usec timeformat to wlan logger and kernel logs
2. Remove SIR_CFG_PARAM_UPDATE_IND MTRACE log which is seen
frequent in MTRACE dumps
Change-Id: I45e5d28fbeccd757648f05ce4e593d8ca4fe7804
CRS-Fixed: 1049125
This reverts Change-Id Icd08475c3f81aa182c902b8e8defbdb904c5509d
Above change was exceeding skb buffer size and leading to crash.
For now removing the support for dump Tx/Rx packets during connection.
Change-Id: I2aec7253511d2ca7b08ca77d858a46f9c01d4e9d
CRs-Fixed: 1083912
INDOOR channels may or may not be enabled for SAP. If
INDOOR channels are not enabled for SAP, they are converted
to PASSIVE channels. So remove PASSIVE channels from SAP
channel list. Also remove any function not getting called
any more.
CRs-Fixed: 1058893
Change-Id: I45da966ee8c4c0005a5ca185cb121bdbc8989f48
Remove wait when sending regulatory_hint to kernel to get
channel list. Also remove extra call to csr_update_channel_list from
csr_start. Csr_ready already has call to csr_update_channel_list.
Change-Id: I315ba2095fc7eb0faa1454cddcc9ee3f28b087bf
CRs-Fixed: 1058399
While running set_fcc_channel, call to csr_update_channel_list
is conditional on pending scan. Remove the unconditional
call to csr_update_channel_list. This is clearly a bug.
CRs-Fixed: 1058416
Change-Id: I1b3ce52111ef8b61dde9d26e353c48e48b80a90b