Refactor flush rx queue function call based on soc by adding an
interface to CDP funtion indirection table.
Change-Id: I2d05acd023baf156c5b0752447d76d0e9e92ff53
CRs-fixed: 2023399
Unit-test suspend/resume should not know how many IRQs there are or
which is the wake IRQ. Migrate unit-test suspend resume to the new
HIF IRQ enable/disable APIs so detailed IRQ knowledge is no longer
required.
Change-Id: I65b8bd454e469a9081f29dce5a1a96f55698a128
CRs-Fixed: 2023978
Check for SAP BSS started flag before deinitialization of SAP
context data, station disconnection and action frame cleanup
Change-Id: I0191567818d5ee62a826531311cd08cb1a18ad28
CRs-fixed: 2008653
Clear SOFTAP INIT DONE flag at the beginning of stop_ap cfg80211
function to handle SSR case. Thus SAP will not be restarted after
SSR. SAP adapter will be cleaned up during SSR even though stop_ap
returns failure as it could not be processed during SSR.
Change-Id: Ia90b26c68f7ded4481aa4cbdd8f424453853da21
CRs-fixed: 2008697
When hostapd close and wlan driver unload are happening in parallel
in different context, there could be a race condition in closing
adapter SAP context resulting in crash. Update to fix the crash
by protecting SAP close functions with lock.
Change-Id: I457b765d4932ad2c321fbc7e02f6ab4f289abb10
CRs-fixed: 2014663
Check for adapter validity for pre cac adapter close work function
and hdd context validity to avoid crash during race condition in
SSR case.
Change-Id: I6c167e8f1a8199c63fba905fff4e781d244c7dc1
CRs-fixed: 2021403
qcacld-2.0 to qcacld-3.0 propagation
After WDI PIPE establish done, WLAN kernel driver sends WDI_ENABLE message
to IPA kernel driver. IPA kernel driver handle this message same way as SCC
message. So, when MCC starts, IPA reconfig to SCC mode.
As a solution, after WDI ENABLE, re-config IPA with SCC/MCC message.
Change-Id: I94c933fce3d005930a24aa989425eed89f8e9d32
CRs-Fixed: 814186
This change addresses below two issues.
1) pe session entry may not exist in some cases where PE receives
ack cnf after deleting the pe session. So use
"lim.tdls_frm_session_id" instead of peSessionId while sending
the tdls mgmt frames.
2) PE sends eWNI_SME_TDLS_SEND_MGMT_RSP with failure status to SME
if mgmt tx fails before calling WDA_TxPacket. But SME is
ignoring this failure and not indicating ack conf failure to HDD.
Change-Id: I089be87fef71ebfb0327c47a301aaf5ede59d031
CRs-Fixed: 887676
Bssid is removed from scan cache as part of disconnect
handler if AP/p2p GO sends deauth or disassoc.
Fix is to remove bssid from scan cache only for HB
failure.
Change-Id: I23476858ab63f7c7ba1e82d897a4e37bb192e472
CRs-Fixed: 2017326
This reverts commit Ic0adb8287652ab1dcc89107e1610637342c426ec.
Defining gVdevTypeNss_2g and VdevTypeNss_5g as Integer.
Change-Id: Ia07c50dde2af4e6d47b844fa100fad4aaae93eab
CRs-Fixed: 2023756
qcacld-2.0 to qcacld-3.0 propagation
With ATH_11AC_TXCOMPACT defined, host to target message send-completion
won't be called and messages are stored in htt_htc_pkt_misclist after
sending to HTC layer which will be freed upon htt_detach. This list
doesn't have a size limit and outgrow with more messages.
Add a fix to limit the size of this list which gives enough time for
firmware to process these messages before releasing it.
Change-Id: I6feb2d5700abe81a21dd93303163202616c739f5
CRs-Fixed: 902909
If channel received in OEM channel info req is invalid for the
current country code the channel width received will be invalid.
When this invalid channel width is passed to wma_chan_phy_mode,
it cause QDF ASSERT.
To fix this if channel width is invalid set the phy mode invalid.
Change-Id: Iafa29be61c94ac6138162d47c8efda7504f0acf2
CRs-Fixed: 2021053
Some of the packets like configuration messages and ipa stat
messages to fw are added in htt misc list. If these packets
fail to be transmitted, they are added in endpoint tx queue as well.
When driver is unloaded, as these packets are present in misc list
as well as in endpoint tx queue, double free will happen and crash
will be observed.
Use magic pattern to distinguish the packets that are stored in
endpoint tx queue as well.
Change-Id: I5d327049d0a2a1598f55ef3ec8a5628f9a01ccee
CRs-Fixed: 2016412
Fix potential buffer overflow by array index out of bounds.
We need to add a new op_string entry whenever a new opcode added.
Otherwise, the op_string entry for the additional opcodes could
be accessed out-of-bounds.
Change-Id: Ic09b19916b63d8bb83bf278361b8519268ee1787
CRs-Fixed: 2005340
Separate out pdev detach processing as ol_txrx_pdev_detach()
and ol_txrx_pdev_pre_detach() corresponding to pdev attach
functions ol_txrx_pdev_attach() and ol_txrx_pdev_post_attach()
respectively.
Change-Id: I7fdbe70ad8262a57b61a742fcfb2779e323172af
CRs-Fixed: 2010653
When STA roam to new peer the old peer is not deleted from object
manager and this leads to crash during unload.
To fix this delete old peer from object manager once STA roams to
new peer
Change-Id: I991e0fc5fd7e1a8cb797395de601eab3ebfa015a
CRs-Fixed: 2022056
Add ENTER and EXIT log and check return value of ipa_connect_wdi_pipe
in hdd_ipa_uc_ol_init.
Add log to ensure doorbell_paddr and op_cb set correctly.
Change-Id: I444c58ea31f3ec9816cf5d052dbc22272ea8132c
CRs-Fixed: 1111256
Fix a compilation error when FEATURE_AP_MCC_CH_AVOIDANCE is defined,
introduced by a previous commit.
Change-Id: Ic85b805f590ce5acc5cd0caeff107b8315baefaf
CRs-Fixed: 2019332
Automated code style checker detected multiple instance of "no space
before tabs," so fix those issues.
Change-Id: I93248e3cfafa047c4fa8c9553769f9457086d01a
CRs-Fixed: 2021507
SME currently has legacy code to support the tCsrGlobalClassBStatsInfo
data structure. However these stats were specific to the WDI firmware
API used by older generations of hardware, and this interface is not
supported by WMI. In addition the support for these stats has been
removed from HDD. So remove support for these stats from SME.
Change-Id: Ia18d8635cff63d91f779bc3bae0a30c594514f8f
CRs-Fixed: 2021538
WMA currently has legacy code to support the tCsrGlobalClassBStatsInfo
data structure. However these stats were specific to the WDI firmware
API used by older generations of hardware, and this interface is not
supported by WMI. In addition the support for these stats has been
removed from HDD. So remove support for these stats from WMA.
Change-Id: I2e152cd55b54ed9f68bf85411fcfa4b95b5325a0
CRs-Fixed: 2021533
HDD currently requests SME_GLOBAL_CLASSB_STATS in a few of its legacy
ioctl handlers. However these stats were specific to the WDI firmware
API used by older generations of hardware, and this interface is not
supported by WMI. In addition HDD doesn't actually do anything with
the data returned. So remove support for these stats from HDD.
Change-Id: I97acf231cfffba630aa6a9ac98d3b8298fb8b7d7
CRs-Fixed: 2021531
SME currently has legacy code to support the tCsrGlobalClassCStatsInfo
data structure. However these stats were specific to the WDI firmware
API used by older generations of hardware, and this interface is not
supported by WMI. In addition the support for these stats has been
removed from HDD. So remove support for these stats from SME.
Change-Id: I3e63f99e1dd1b509694e3953490355b4c23f6c73
CRs-Fixed: 2021528
WMA currently has legacy code to support the tCsrGlobalClassCStatsInfo
data structure. However these stats were specific to the WDI firmware
API used by older generations of hardware, and this interface is not
supported by WMI. In addition the support for these stats has been
removed from HDD. So remove support for these stats from WMA.
Change-Id: I0614ed2660c886c7e61b0e87058a2f2e522580f3
CRs-Fixed: 2021526
HDD currently requests SME_GLOBAL_CLASSC_STATS in a few of its legacy
ioctl handlers. However these stats were specific to the WDI firmware
API used by older generations of hardware, and this interface is not
supported by WMI. In addition HDD doesn't actually do anything with
the data returned. So remove support for these stats from HDD.
Change-Id: I846aacb7076f29199bd4d3bbce4ca0654565f2ef
CRs-Fixed: 2021523
The qcacld-3.0 driver inherited the tCsrGlobalClassAStatsInfo data
structure from a prior version of the driver. This structure was based
upon the WDI firmware API used by older generations of hardware, and
this interface is not directly supported by the WMI interface used by
current generations of firmware. However "glue" code was introduced
which converts between the WMI data and this WDI-based representation.
When the glue code was introduced there were some parameters which
were supported by WDI but not WMI, and there were some parameters
which were supported by WMI but not WDI. Rather than remove the fields
for parameters not supported by WMI and add new fields for the
parameters only supported by WMI, for some reason the existing
WDI-only fields were repurposed. This fact is captured in WMA:
/* rx_frag_cnt and promiscuous_rx_frag_cnt
* parameter is currently not used. lets use the
* same parameter to hold the nss value and mcs
* rate flags */
classa_stats->rx_frag_cnt = node->nss;
classa_stats->promiscuous_rx_frag_cnt = mcsRateFlags;
And leads to nonsense code such as the following in HDD:
nss = pAdapter->hdd_stats.ClassA_stat.rx_frag_cnt;
rate_flags = pAdapter->hdd_stats.ClassA_stat.promiscuous_rx_frag_cnt;
Rename these fields so that they match the data they hold, and remove
other legacy fields which are unused.
Change-Id: If04a8943ad90d796968c817ff5e634eec23c97f0
CRs-Fixed: 2021520
Add changes for 11ax peer association.
Add support for the following
- update data structures to hold HE capabilities
- setting up HE capabilities in the session
- updating sta context with correct HE config
- intersecting self and peer capabilities
- update derivation of peer phymode to handle 11ax phymode
Change-Id: I46c7a7328d09e74bc0c5b25a67f6273d7eb04d30
CRs-Fixed: 1073481
Introduce a new iwpriv command txrx_stats to
print both host and firmware stats for Lithium
chipset
Change-Id: If37b798a117446e9fbb369823977fa312872ed48
CRs-Fixed: 2017426
Add changes to update fine time measurement capability in WIFI POS
private object using vendor command.
Change-Id: I7e3b502660b169f4cdb654cb5f433446a24d2421
CRs-Fixed: 2003488
Add new dot11mode and update the utility functions to derive
the dot11mode based on the userspace config, INI config and
FW capability.
Change-Id: I5780120ef7bc2b78fd596e937fe14a2c8ad88348
CRs-Fixed: 1073481
Host triggers firmware recovery when bug is reported for no
or zero scan results. This may trigger false alarm and thus
firmware recovery even in no wifi zones.
Fix is to set recovery needed to false in cds_flush_logs
called from scan done callback. Also change flush
completion log to info.
Change-Id: I45cf616803d3f504649fb0fa8e4698b781be5781
CRs-Fixed: 2008108
qcacld-2.0 to qcacld-3.0 propagation
When extending the RoC for off channel tx, the cookie of of the RoC
is changed to action cookie so that RoC request and off channel tx
mapped to same tx frame. Indicate roc expire event to the supplicant
for the RoC request before updating the RoC cookie with action cookie.
Change-Id: I66896dd1e98d83b92d4f1e60c7057acd80743929
CRs-Fixed: 2002054
This change includes to remove redundant MRACE logs
which are seen very frequent in MTRACE dumps and
remove multiple definition of WMA_SET_TX_POWER_REQ.
Change-Id: Ic5ac780ba3d31a8f2c6e4c10f7af5051864e7f3e
CRs-Fixed: 2020491
qcacld-2.0 to qcacld-3.0 propagation
Observed kernel panic due to improper arguments passed to kernel bit
manipulation functions (like set_bit, clear_bit etc.) i.e these
functions expects bit positions as its first argument but bit mask
values are being passed.
To fix these issues ensure below points:
- Pass bit position as a first argument to bit manipulation
functions.
- Re-define MACROs which gives false impression of bit mask values
with their naming convention.
Change-Id: Ief8cd83b05f01a0926f91c0e9fb461ddd498e05e
CRs-Fixed: 981050
SBS is always set to true by the policy manager. so for the second
connection, if the mode is not DBS, then SBS HW mode is selected.
Since SBS is not supported the second connection fails with invalid
HW mode error.
Change-Id: I817e83cbac194cdfde73a586491d645631692f12
CRs-Fixed: 2021512
SME currently has legacy code to support the tCsrPerStaStatsInfo data
structure. However these stats were specific to the WDI firmware API
used by older generations of hardware, and this interface is not
supported by WMI. In addition the support for these stats has been
removed from HDD. So remove support for these stats from SME.
Change-Id: Ibab7f94764c68933633c46da497613add0824ff1
CRs-Fixed: 2020067
WMA currently has legacy code to support the tCsrPerStaStatsInfo data
structure. However these stats were specific to the WDI firmware API
used by older generations of hardware, and this interface is not
supported by WMI. In addition the support for these stats has been
removed from HDD. So remove support for these stats from WMA.
Change-Id: I42ba6535ccfaed99df46d389cbb8ddd9d0f9261b
CRs-Fixed: 2020066
HDD currently requests SME_PER_STA_STATS in a few of its legacy ioctl
handlers. However these stats were specific to the WDI firmware API
used by older generations of hardware, and this interface is not
supported by WMI. In addition HDD doesn't actually do anything with
the data returned. So remove support for these stats from HDD.
Change-Id: I070685a0ca2b9c53b93c1f950eab97ea65f43f1e
CRs-Fixed: 2020065
Currently wma_get_stats_rsp_buf() uses a loop to determine which mask
bits are set, and based upon the loop iteration count it determines
the size of the associated buffer. This calculation is fragile,
however, in that it tightly couples the loop iteration count and
eCsrRoamStatsClassTypes enumeration values. Since code under
development will be removing some of the eCsrRoamStatsClassTypes
enumerations, update this logic to remove the tight coupling.
Change-Id: Ia6cda4c8181c44d25a9da27acffe6bd10ca3b4ed
CRs-Fixed: 2020056
Currently SME exposes a set of SME_*_STATS macros to indicate which
stats are of interest in a call to sme_get_statistics().
What is not obvious is that the values of these macros are required to
be aligned with the eCsrRoamStatsClassTypes enumerated values. Update
the macros to make that alignment explicit.
Change-Id: Id992a8230a1aa4df941ea7666bc00a661a9ab68e
CRs-Fixed: 2020055
This change addresses sending Deauth to TDLS peers,
delete TDLS stations and clear hdd structures if
concurrency is detected.
Change-Id: Ia9f6724a9db20c6d9ebfc2fa735569305f35f084
CRs-Fixed: 2022489
qcacld-2.0 to qcacld-3.0 propagation
Currently when cac ends, it will trigger eSAP_START_BSS_EVENT
with peer local id 0. If there is no peer with 0 local id, sap
starts fails.
Actually valid peer local id should be saved in sap context,
so it can be used in sap_signal_hdd_event.
Change-Id: I3779cb181390650844475b1a2f18768cb5784cf2
CRs-Fixed: 1096534
qcacld-2.0 to qcacld-3.0 propagation
The parse_mac_trace.cmm file will be maintained
under core/mac/src/sys/legacy/src/utils/src/.
This script helps to decode MTRACE logs when we get crash dumps.
Change-Id: I421b53edc18c49e737411d3723b0a1536e86bc58
CRs-fixed: 957900
Excessive logging of the following error message was observed:
__wlan_hdd_cfg80211_scan: Update scan IEs with default Scan IEs failed
This message was being printed because wlan_hdd_update_scan_ies()
returns an error code when no default scan IEs have been configured.
But this is a valid scenario, so modify wlan_hdd_update_scan_ies()
to return success (0) when no default IEs have been configured.
Change-Id: I4b9dc1d38d38d326861b7c95d13b891cb0d0c522
CRs-Fixed: 2013531
Add ini param qdf_trace_enable_wifi_pos to control WIFI_POS logging
level from config.ini
Change-Id: I9baa59448b9badaae94193bd7367a104309d0a1a
CRs-Fixed: 2003488
This API is moved to qcacmn as part of WIFI_POS convergence.
Remove this API from MCL code include necessary header file
for API.
Change-Id: I8622d0bbfd90c7aee5630aaa3e6e3540dfc9df9b
CRs-Fixed: 2003488
Change the return type to QDF_STATUS of htt_tx_desc_init function
to handle dma map and other error condition.
Free the tx descriptor if this function returns error.
CRs-Fixed: 2021634
Change-Id: Ib9154de308154c43c202ad8a88ecdfff04be47a2
Currently driver drops RRM request before completion of DHCP.
Driver uses global variable dhcp_done to check completion of DHCP.
In static IP case, there is a chance that sme_dhcp_done_ind be
invoked before connection. Hence there is a chance that global
variable dhcp_done may not be set. This can cause driver to drop
RRM requests forever in static IP scenarios.
Invoke sme_dhcp_done_ind in all states to allow processing of
RRM requests in static IP scenarios as well.
Change-Id: I20e07eea7a66e7f3336dd783b9533ff642721209
CRs-Fixed: 2021041
When a packet is generated internally, host adds a debug
node entry to the table and deletes the entry once received
tx completion for that packet by calling qdf_nbuf_free.
But when a packet is coming from network stack, host doesn’t
add any debug entry to the table and on receiving tx completion,
it calls qdf_nbuf_tx_free which will simply free the skb.
In case of P2P GO mode where packets are forwarded internally,
host creates a private copy of skb and add debug node entry in
the table. But when receiving a tx completion for the same packet
host calls qdf_nbuf_tx_free which will free the skb but will not
remove this node entry from the table. Currently, this api is common
for all data tx completion packets.
Add an extra flag in control block to differentiate whether skb is
generated by driver or come from network stack. If flag is true,
that means generated internally and need to remove the entry from
debug node table.
CRs-Fixed: 2021277
Change-Id: I07c12b5bf134a3e56d13005dbe03778781cdf176
Add support in HDD to update 11ax - High Efficiency(HE) Capabilities
received as part of the target configuration.
Add support for new WNI_CFG global config parameters to be
used for implementing 11AX standard.
Change-Id: I3f0d3af2369157c657ac59676a434dc794f84b19
CRs-Fixed: 1073481
Add support in WMA to receive and store HE capabilities coming
from extended service ready event.
Add support to receive HE capabilities, convert into OTA type of
internal host structure and pass it to the uppper layer as target
config. Add utility funciton for the conversion as well.
Change-Id: If0ceeb3db74be6cf6893b8e74c710863bab8b41b
CRs-Fixed: 1073481
Add 11ax related IEs in dot11f.frms file.
Add new IEs to support 11ax/High Efficiency(HE). HE capabilities and
HE Operation are the two new IEs added and the IE definition is based on
the 11ax D1.0 specification.
Change-Id: Iab4219a7c068faca0337f70f921ec178f7170952
CRs-Fixed: 1073481
wlansap_roam_callback function logging an error message if
roam_status is not handled, in default case of switch, but same
information is logged before switch. So remove this log.
Change-Id: Id53eb392929d9328f959c7e54d7f0a5dd77b0739
CRs-Fixed: 2007415
Set Band Capability ini config to PSOC user config. This can later
be used in UMAC component.
Change-Id: I9044cec35cdb478881b827101ee79bcf87084d73
CRs-Fixed: 2003488
When HDD detects that the session id and vdev id have de-synchronized,
print the PSOC reference tree and induce a crash.
Change-Id: I1ca47837cd024fd66e19d86222cfbbd85e3f5704
CRs-Fixed: 2020092
Sometimes MTRACE dump functions returns "unknown" values instead of
data passed to MTRACE. To resolve this add any missing MTRACE code and
data enums to the corresponding trace functions.
Change-Id: I86b9b9f433be64879c96ccc65c142e07aaf23ed0
CRs-Fixed: 2018532
qcacld-2.0 to qcacld-3.0 propagation
Current implementation does not update MDIE while processing of
PNO match event due to this STA is unable to connect to 11r AP.
Add changes to update MDIE to 'tSirBssDescription' in
csr_scan_save_preferred_network_found()
Change-Id: Ia419c0f7284fc168434d91bcc3d7b29b99a06f3f
CRs-Fixed: 2005101
qcacld-2.0 to qcacld-3.0 propagation
'apDataAvailPollPeriodInMs' ini is redundant in registry table and
hdd_update_config_dat().
Fix to remove redundant ini 'apDataAvailPollPeriodInMs' variable.
Change-Id: Ieb5214ec3052bbec793e91d294b03e425292e348
CRs-Fixed: 2000336
When SAP initiates deauth/diassoc for peer device, it sets
isDeauthInProgress flag. So, if host receives tx packets
for peer from network layer or ipa path while peer remove
is in progress, then drop the tx packets at hdd level
in __hdd_softap_hard_start_xmit based on above flag check.
CRs-Fixed: 2016092
Change-Id: I52c3bcd92478eb657bdd90d15eb13d1cd95ee090
wma_remove_peer does clear peer as part of disconnect.
hdd_roam_deregister_sta also does clear peer which results
in clear peer failed error message.
Fix is to avoid clear peer again in disconnect handler.
Change-Id: I0399a81779aad87201cb67e070421ec549b2d837
CRs-Fixed: 2019168
After PDR driver send regulatory hint with the same country code
which was already set by driver before PDR. As part of regulatory
hint kernel remove the custom regulatory flag from wiphy flags
and as in this case country has not changed, no reg notifier is
called and thus wiphy flags are not restored by driver.
Due to this if user set an country the channel flags and power
are not reset and 5Ghz channels remain Passive.
To fix this don't send reg hint during start modules if
init_by_driver flag is set.
Change-Id: I126465aa91f40df5c92da44361f414a7792e927f
CRs-Fixed: 2019049