Since os_if_psoc_trans_wait may sleep on a wait event if there is any
active ongoing transition on driver, psoc or vdevs. Hence move the
os_if_psoc_sync_lock(a spin lock bh) inside sync calback API for psoc
look up such that spin lock is not held before starting the wait on
event. os_if_psoc_sync lock is for psoc look up and not for wait
and hence this fix makes locking fine granular as well.
Change-Id: I0537604337a6b594be3e7dc34dc97b79d5987ad4
CRs-Fixed: 2433409
Enable CONFIG_HOST_OPCLASS to include supported
operating class feature in host driver for genoa.
Change-Id: I44d6a3aa7c1c3372186532f7ff1f4353aba41350
CRs-Fixed: 2429681
Define PLD APIs for idle shutdown and restart such that platform
driver can serialize PSOC idle shutdown and restart with driver
load/unload and SSR shutdown/reinit.
Change-Id: I4e772343fbccb099b9af104ac978dcdb650a567a
CRs-Fixed: 2431405
Validate cfgLength to the upper bound before using it in copy
inside csr_get_cfg_max_tx_power()/lim_get_dot11d_transmit_power.
Change-Id: Ibcc1f145db9b902a29a0332553323d0a3ac6b2ff
CRs-Fixed: 2423707
Since os_if_vdev_trans_wait may sleep on a wait event if there is any
active ongoing transition on driver, psoc or vdevs. Hence move the
os_if_vdev_sync_lock(a spin lock bh) inside sync calback API for vdev
look up such that spin lock is not held before starting the wait on
event. os_if_vdev_sync lock is for vdev look up and not for wait
and hence this fix makes locking fine granular as well.
Change-Id: I2cca560aeed9b79648168a09f596dbaa374ecbb5
CRs-Fixed: 2433829
Since os_if_driver_trans_wait may sleep on a wait event if there is any
active ongoing transition on driver, psoc or vdevs. Hence move the
os_if_driver_sync_lock(a spin lock bh) inside sync calback API for driver
look up such that spin lock is not held before starting the wait on
event. os_if_driver_sync lock is for driver look up and not for wait
and hence this fix makes locking fine granular as well.
Change-Id: I32c582bedbbee81d3a5b171666fc3009c3dc7e5a
CRs-Fixed: 2433825
wma_motion_det_host_event_handler() get called when FW sent
WMI_MOTION_DET_HOST_EVENTID message.
After the initial processing, pmac->sme.md_host_evt_cb() is
called to send the relevant data back up to the upper layers
of WLAN.
Since this callback function is dynamically registered there
are cases where it might not be registered before this FW event
is received, resulting in a NULL pointer dereference.
Change-Id: I06b7907b39f4da0837196ccf377ecc2da325be8c
CRs-Fixed: 2428803
The field bssid in cfg80211_update_owe_info is renamed to peer
in kernel. Change it accordingly in WLAN driver.
Change-Id: Idf6e051d875c2a9dbe10c49eab7aa02536e5bdc4
CRs-Fixed: 2433437
If the first DFS AP is in CAC progress and second
AP starts on DFS chan, move the second AP to CAC
wait state as well.
Otherwise, when CAC end, the second AP will always
stay in "WLAN_VDEV_S_START" state and can not
handle CAC end event.
Change-Id: I440ce3339dd2afb62bdb574f2f785d733a980933
CRs-Fixed: 2426714
Delayed work leak is observed when hdd_wlan_startup failed in
__hdd_soc_probe. It will call hdd_context_destroy for cleanup, but
the delayed work created in hdd_context_create is destroyed in
hdd_wlan_exit.
To fix this leak, move this from hdd_wlan_exit to hdd_context_destroy
Change-Id: I237de3695e8915dee9ba085c5d3679a3b438d323
CRs-Fixed: 2432748
Add NAN+SAP concurrency related changes to NAN component. This
handles NAN discovery and SAP SCC design constraint.
Change-Id: Ief0d6735d9f011eb3bac22d813b2d2ef41f3fe7c
CRs-fixed: 2431539
Add policy manager changes for NAN discovery interface and SAP
mode concurrency setup related constraints. This handles NAN enable,
disable, SAP bringup and PCL related configuration for NAN+SAP
concurrency.
Change-Id: I04564e80e62189e2e6c0f810856b961b61ef70b4
CRs-fixed: 2431539
With kernel version before 4.10, and no CFG8011_UPDATE_CONNECT_PARAM
defined, compiler throw failure -
wlan_hdd_cfg80211.c:21402:1:
error: ‘hdd_update_connect_params_fils_info’
defined but not used [-Werror=unused-function]
Change-Id: I0b15e5822b36d881d484c241064f533f26f77b6d
CRs-Fixed: 2429665
Disconnect STA/SAP when disable channel list is provided by user
which contains the current STA/SAP operating channel.
Also add an ini parameter to use as featurization flag for this feature.
Change-Id: Ibe6c18ee7f6ed007794853293a0bde4999611167
CRs-Fixed: 2280989
Currently for SAP mode, issue is only first valid sta is
requested to print REO stats where sta_info pointer does
not move along with the loop.
Fix is to print REO stats for both vdev peer and sta peers
in SAP mode.
Change-Id: I4864dbecace091fd086f184599e108ad3f2e3d37
CRs-Fixed: 2423173
Implement NON-QC platform TSF and TSF PLUS.
Implement gettime of PTP.
Implement TSF PLUS for SAP/GO
CRs-Fixed: 2399624
Change-Id: Id4f41a94256a8f035ae408c168c246569185c534
Scan queue isn't unregistered, lead to scheduler queue leakage,
after driver module start/stop several times, scheduler queues
are used out, can't register any more.
Change-Id: I98d81591aee25a5e18e560766fb077733eb1b671
CRs-Fixed: 2431696
If the FW doesn't send the ext service ready event, and
thus the host does not get the max chainmask that both
the macs can support, the host still updates the ini
with the minimum of the host, and FW config, which can
lead to functional issues in connection, and scan.
Fix is to honour the setting only if the FW sends a non
zero positive chainmask for both macs.
Change-Id: I2a321923a2f995cca20cef3980acb1bf41ca0db0
CRs-Fixed: 2429584
It will access pointer to session entry before NULL pointer check. So,
fix it and avoid to possible NULL pointer dereference.
Change-Id: I4a62b4600053ccc1eb4b63c3fbce9ebcfe0656ee
CRs-Fixed: 2423715
Presently for SAP and p2p go a session is created in the firmware
and umac once the add virtual interface is received. It was
added previously when the session is not supported from the interface
up.
Now driver supports creation of the session from the interface up
for the beaconing entities the legacy code is removed.
Change-Id: Icf6aaac3722cf9292fb1519ba5e0aed74834895f
CRs-Fixed: 2368329
The only function called through this pointer type doesn't return
a value and the caller doesn't check for a return value. Change
the function pointer type to return void to fix a CFI failure due
to a type mismatch:
CFI failure (target: [<ffffff853ba7cee8>]
hdd_ipa_send_skb_to_network+0x0/0x4 [wlan]):
...
Call trace:
__ubsan_handle_cfi_check_fail+0x50/0x58
__cfi_check+0x31fa0/0x3d5a4 [wlan]
wlan_ipa_w2i_cb+0x5fc/0x8fc [wlan]
...
Change-Id: I94f6bb0fc06acebde12cf80294999d9419296c4a
CRs-Fixed: 2431600
Fast path is not supported in ROME, remove CONFIG_WLAN_FASTPATH
from qca6174_defconfig
Change-Id: I3606abfc6f375852159a9d94345e165fbe4d06c6
CRs-Fixed: 2428550
Pointer 'req' is dereference before null check which can lead
to null pointer dereference.
Pointer 'body' is never null check after allocation of memory.
qdf_mem_malloc can return null and when pointer 'body' is
dereference, it can lead to null pointer dereference.
Change-Id: I62f26341079d4849c56f7d35d0b7c64df6b49f3b
CRs-Fixed: 2424010
The host driver handles update connect params sent from
userspace and updates the FILS auth type or FILS Erp info based
on the UPDATE_FILS_AUTH_TYPE(2) or UPDATE_FILS_ERP_INFO(1) bit
set in the changed flag.
Handle the association IE update sent from userspace also.
UPDATE_ASSOC_IE(bit 0) will be used to check if assoc IE needs
to be updated. This assoc IE should be sent to firmware. MBO IE
is updated as part of this IEs from the WNM action frame
received by the userspace when setting non preferred channel list
from the AP. If host driver fails to update these IEs to
firmware, MBO IE will not be sent in reassociation request frame
and MBO testcases will fail.
Parse the assoc IE into hdd_adapter->roam_profile. If
parse and validation is successful, copy the assoc IE into
csr_roam_session of the corresponding vdev. Send RSO update
command to firmware, with updated assoc IEs.
Also currently the driver registers update_connect_params
event only if FILS compile flag and UPDATE_CONNECT_PARAMS
flag is enabled. Exclude FILS flag check from this conditional
condition and check only for UPDATE_CONNECT_PARAMS.
Change-Id: I29fadebc9a7fc43937b805f0f041bb86ddf85cbd
CRs-Fixed: 2429665
Current gTxChainMask1ss is 1 by default, only chain 1 can be used
by wifi when bt co-ex, if only chain0 exist or green AP switch to
1x1 mode, wifi tx will fail, connect will fail.
Add clear comment for gTxChainMask1ss to avoid confusing.
gTxChainMask1ss is only used by Rome, not by Helium and HST.
NOTE WELL: This change will have an adverse impact on products
which implicitly expect gTxChainMask1ss=1 behavior. Any such
products must update their INI file to add an explicit
"gTxChainMask1ss=1" entry.
Change-Id: I44f34f80200d057188a77f6f564a13c768fc727e
CRs-Fixed: 2426623
Set device HE capabilities to testbed defaults when device is
configured as testbed device.
Change-Id: I5b1d9eb6f0b576f18a5e4d77131354639b0ae2f0
CRs-Fixed: 2428156
If both INI and FW capability is set,
enable capability flag in twt enable command.
Change-Id: I1c070256c4b672b09a1323665fc5a2f166f951fb
CRs-fixed: 2423752
Set rmf enabled flag in lim based on crypto component info
for WLAN_CONV_CRYPTO_IE_SUPPORT feature enabled case.
Change-Id: Ibb07531d6073015d67df94e3666883a6785de476
CRs-Fixed: 2421470
Remove the element ID macros defined in qcacld-3.0 and
replace it with the macros defined in qcacmn.
Change-Id: I01a38e3d6c4857eb48868a34e278366ad9d5d099
CRs-Fixed: 2427311