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
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
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
Automated code style checker detected multiple instance of "no space
before tabs," so fix those issues.
Change-Id: I93248e3cfafa047c4fa8c9553769f9457086d01a
CRs-Fixed: 2021507
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
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
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
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
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
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
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
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
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
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
It need qdf device if send mgmt frame. But host common can not access
legacy codes. Save it to soc object.
Change-Id: Ib943c5f3356e02b946ad1d30838d464e36dd643f
CRs-Fixed: 2014648
Every access to remain_on_chan_ctx need to be protected
with mutex lock.
This change refactors the code in the function wlan_hdd_
cancel_existing_remain_on_channel() and wlan_hdd_cancel_
pending_roc().
Change-Id: Ie4551ab7cc4297f04ea2980aff7e613f6d3d2bb6
CRs-Fixed: 2020554
Some of cfg80211 callbacks need os structure wireless_dev. Pass it to
vdev object when creating.
Change-Id: I360f5a6d205dfa223139b7ca0de8e567146770f7
CRs-Fixed: 2014563
A previous commit failed to propagate WoW enable parameters down to
the Power Management Offload (PMO) component. Propagate WoW enable
parameters to the PMO component to restore unit-test suspend
functionality.
Change-Id: I6531a262a189b416499953bc013efdf64111ac5a
CRs-Fixed: 2020034
Add support to pass delay_start_time to firmware, this delay will be
used before starting the first scan cycle.
Change-Id: Ia3043eecc38507b1581fa85b8787b2e7786017de
CRs-Fixed: 2014142
Currently default waiting timer value is 100 sec which is too large,
change the timer value to 15 sec.
Change-Id: If116f9ace2e2c0c41438c4be9c9fa834ae9e4a60
CRs-Fixed: 2019739
While addressing the issue fixed by change "qcacld-3.0: Cleanup scan
queue during driver unload" a couple of issues were observed in the
HDD scan cleanup code:
1) list node was directly typecast to hdd_scan_req instead of using
container_of() operation.
2) hdd_scan_req_q_lock spinlock was not being destroyed.
Address these issues.
Change-Id: I6d1e7f5a78848d43e62f893b82f538b960ea0609
CRs-Fixed: 2018045
The following assert was observed during driver unload:
QDF ASSERT in qdf_list_destroy Line 90
PC is at hdd_scan_context_destroy+0x4c/0x78 [wlan]
There was also an associated memory leak detected:
memory Leak@ File core/hdd/src/wlan_hdd_scan.c, @Line 562, size 48
memory Leak@ File core/hdd/src/wlan_hdd_scan.c, @Line 2284, size 584
The issue is that the scan cleanup routine, hdd_cleanup_scan_queue(),
is currently only called during SSR and is not being called during the
driver unload sequence. Update the unload sequence to call this API.
Change-Id: Ib398a528cbb504bc132d985a0fa8c2a772d44332
CRs-Fixed: 2018045
If the driver module is closed do not process the driver command,
it will lead to a crash by accesssing uninitialized lock.
To handle this issue check the module status before processing
driver command and if module is closed, simply return error.
Change-Id: Ic651e1abdf6b2efa27e57695c04ace249f9d21bb
CRs-Fixed: 2018746
Add "g_enable_bcast_probe_rsp" INI and pass the configured value
to firmware for STA vdev as part of vdev attach. Based on this INI,
firmware will send the dwell time IE in probe request.
Change-Id: I446c7d7589534688e04579ed434de0803ed8b4ff
CRs-Fixed: 1113498
Currently user space communication functions[cnss diag, PTT socket app]
in host driver uses netlink user sockets which is a security concern from
Linux Android SE policies.
Add support for to use netlink family cld80211 which uses generic
netlink sockets.
Change-Id: I4ea49ac6d7c9381212c93567fdc40f90e04dfba4
CRs-Fixed: 1112784