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
Update the default value of gFwDebugModuleLogLevel as per the request
of the firmware team.
Change-Id: I7d0c45689b962d39c5f9371a10f6da690129de99
CRs-Fixed: 2013439
Active Mode Berkeley Packet Filter (Active BPF) is a new feature that
allows firmware to apply BPF even while the Apps processor is active.
There are 3 modes:
* Disabled: do not apply BPF in active mode
* Enabled: apply BPF to all packets in active mode
* Adaptive: apply BPF up to some threshold to avoid performance impact
Add an ini item called gActiveBpfMode to configure the Active BPF Mode
in firmware.
Change-Id: I6cf60d67238802fe1e1662c040910091f5c25bec
CRs-Fixed: 1111400
This change includes adding hooks in the data path to
send WMI command to enable LRO or/and configure a hash
seed value
Change-Id: I3f068307f7669c4ff8baa5102e9fb7729d4a348d
CRs-Fixed: 1094775
Propagation from cld3.0-1.1 to cld3.0-2.0
Do not indicate the roam event to user space if disconnect is
deferred, since it will soon be honored and a disconnect event
will be sent to the user space. Do not reference the kernel bss
data as well when disconnect is in progress.
Change-Id: I0b76a2af021efe0e1c8693c4e5908ed576770813
CRs-Fixed: 2017409
FW TDLS state supports single TDLS context. TDLS context in FW
does not need to be deleted while deleting TDLS sta in the host.
If FW TDLS state update comes for one vdev while TDLS context
is already present for other vdev, then FW will crash.
The change is to remove updating FW TDLS state while deleting
TDLS sta. This change also address cleaning up TDLS peer from
lim while informing to supplicant.
Change-Id: I300388def5052180d330cc82553085538e80202e
CRs-Fixed: 2013151
Currently, 3 non-tdls ini config options are wrongly merged inside
TDLS macro when auto propagation from CLD2.0 to CLD3.0. Move the ini
configs outside of TDLS macro.
Change-Id: I1ee784519c2197b4dc3f0119fb3a9f379fe7288b
CRs-Fixed: 2016679
Propagation from cld3.0-1.1 to cld3.0-2.0
Upper layer can send cfg80211 disconnect command anytime in the life
of a connection. It arrive when firmware roaming may have started,
completed, failed, etc. Processing of roam events may collide with
processing of disconnect command in the host driver.
Defer the hdd disconnect command if roaming has started. Upon completing
roaming send the deferred disconnect command to sme which will
eventually complete the requested disconnect.
If disconnect is deferred during roaming, then do not send the
new roam event to supplicant since it is not expected and upon
honoring the disconnect later, a disconnect event would be
sent to supplicant.
Remove the earlier workaround done to send a try again error message
to upper layers upon receiving a disconnect request when roaming
is in progress
Firmware can now handle the ROAM_SCAN_OFFLOAD_STOP command even
if it is in the middle of roaming operation. Hence remove this
check in SME.
Add LFR3 roaming state to the cds_is_connection_in_progress API since
it currently captures only LFR2 roaming states.
Change-Id: Id352d94b41f0766889ceebd0b57b2c566ce3ca42
CRs-Fixed: 1114853
Enhance gEnableSifsBurst to support legacy mode for 11n certification
0 - disabled
1 - enabled, but disabled for legacy mode
3 - enabled
propagation from qcacld-2.0
Change-Id: Ia0a21cec25ce46b3ef2ed0ee8d4e4682558da468
CRs-Fixed: 2018162
Currently struct hdd_wext_state_s (typedefed as hdd_wext_state_t)
contains the field "qdf_event_t scanevent". This event is created, but
beyond that it is never used. Since this object is obsolete, remove
it.
CRs-Fixed: 2017476
Change-Id: I7bd4290e1b4d0df069e8e6e6c9347c1ac3c01c63
Currently struct hdd_wext_state_s (typedefed as hdd_wext_state_t)
contains the field "struct completion completion_var". This completion
object is initialized, but beyond that it is never used. Since this
object is obsolete, remove it.
Change-Id: Ibebd7b4d1e8879b4de223a8be4bab2ca0d2fc165
CRs-Fixed: 2017354
Curretly FW considers minimum time of hysteresis for PER based roam as
constant value which is 25 seconds.
Add changes to make this configurable using ini.
Change-Id: I1a985594d515f42d1aaca8e4ef174fb29b51586a
CRs-Fixed: 2005849
DUT should be able to roam to a better access point if current
AP is having congestion/packet error.
This roam also devise a new selection logic for candidate
selection which considers channel congestion and AP capabilities.
Change-Id: I39594e37bd209be2603a4636514e2c9b1a907761
CRs-Fixed: 1090934
As per the current implementation wmmAcTspecValid is reset during roaming
and set after establishing TSpec but currently wmmAcTspecValid is not
considered before classifying the data frames based on AC and UP.
Due to above issue after roaming we are still sending packets with UP
for which tspec session is not established.
Fix above issue by checking wmmAcTspecValid for AC before
classifying the frame.
Change-Id: I37039fa568696f0861b02d094c3a513dbc2b9967
CRs-Fixed: 915555
As part of I707054c44a882f6dd4a4a9df2b6821b93b724f7a, completion
of wlan_start_comp variable is removed at hdd_wlan_startup,
that leads to timeout crash waiting for driver registration.
Add complete wlan_start_comp at hdd_wlan_startup.
Change-Id: I2e80465cd1ec66b9330b8f6e9b11fd14076035eb
CRs-Fixed: 2017668
Disable Qpower when UAPSD is enabled or if the max ps poll is
configured by user.
Change-Id: If9c747406d65a6f89fa123592c3f9d79724b8ae0
CRs-Fixed: 2017432
Add an ini item for configuring the keepalive method used by station
interfaces.
Change-Id: Id44773f5ae7f7ad1ad9441592512ab3e2ce3a076
CRs-Fixed: 2016799
Inform the bss using the new API cfg80211_inform_bss_frame_data() which
also has the ability to inform the timestamp when the frame has
been received.
If the support is not present in the kernel fallback to the legacy
inform bss.
Change-Id: Iaa512248a5e56d77cff39da562e0c9ee4eaeeefd
CRs-Fixed: 1082423