Few NAN/NDP logs are redundant in the current logging infra.
Optimize the same and add few necessary logs.
Change-Id: Ie261db317af48955a16269539948ff1596c4bbcb
CRs-Fixed: 2644418
Currently the hotspot fail happens if the roaming is in
progress because of the check in start bss.
Ignore it and just do disable roaming to the FW.
If the roaming was in progress, it would disable it,
or it would do a disconnect if the EAPOL was in progress.
This is done to enable the hotspot as connect would be
taken care by the supplicant automatically, but the hotspot
needs user intervention.
Change-Id: I0030f9affe60c064d490795be92ae035923738aa
CRs-Fixed: 2640136
Presently in the driver, the function __cfg80211_stop_sched_scan
clears rdev->sched_scan_req only when the sched_scan_stop returns
success. If it returns a failure, then its next invocation due to the
clean up of the second interface will have the dev pointer corresponding
to the first one leading to incorrect memory access.
To resolve this issue, return 0 for stop_sched_scan irrespective of the
return status.
Change-Id: I129e3e9c6d9f6a688d0aa97be120ba9731e8df37
CRs-Fixed: 2623160
If there is no STA/P2P CLI on same MAC of SAP/P2P GO,
SAP/P2P Go needn't switch channel to force scc.
Change-Id: I529a57f73f529e41b8c0097fccabbe3e0e516993
CRs-Fixed: 2643106
Check if any interface is up and if no interface is up
do not add monitor mode.
Change-Id: I2e1218a14881f597885334c0a195758ed35c5e5b
CRs-Fixed: 2644285
mibstats_lock is a global variable, current it init
per adapter, so it will fail when init at 2nd time.
Make sure it only create once.
Change-Id: Ia8a57d049fabe311d5b353b5aa612ffa225cbc61
CRs-Fixed: 2643396
To specify interface index in vendor event for sub command
QCA_NL80211_VENDOR_SUBCMD_UPDATE_STA_INFO_INDEX, pass wdev pointer
to cfg80211_vendor_event_alloc().
Change-id: Ied973df111359bbab44e2c1de0888a67e1497034
CRs-Fixed: 2644349
Currently there is no check to not start unsolicited timer
if its callback is already in process. If once this timer
expires and callback is invoked, and if this timer again
tries to start before the callback completes there is no
check to prevent this timer from starting.
As the callback of the previous timer expiry is already in
progress, there is no need to start the unsolicited timer
again. To address this issue a check is added before starting
the unsolicited timer to validate if the callback is still
in progress.
CRs-Fixed: 2635740
Change-Id: Ib008562be22356c3a286fab49a61f99d6867c54e
Currently, In function hdd_get_roam_scan_ch_cb memory
is allocated for event response buffer for invalid len.
Fix is to add a validation check for len before alloction
of memory to avoid memory allocation for invalid len.
Change-Id: I14cffdace868fc19358322c36dd2589d7845b8fa
CRs-Fixed: 2640114
Kernel 5.2+ is checking vendor policy attribute even for GET commands.
Add dummy policy attribute to following GET vendor commands:
QCA_NL80211_VENDOR_SUBCMD_GET_HE_CAPABILITIES
QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_GET_DIAG_STATS
QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_GET_CAP_INFO
QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_GET_STATUS
QCA_NL80211_VENDOR_SUBCMD_NUD_STATS_GET
QCA_NL80211_VENDOR_SUBCMD_MONITOR_RSSI
QCA_NL80211_VENDOR_SUBCMD_GET_SAR_LIMITS
QCA_NL80211_VENDOR_SUBCMD_GET_FW_STATE
Change-Id: I354b2de86909142ed3db0fb4a4d1545ac2b37d55
CRs-Fixed: 2639687
Currently MAX values of INIs gSarSafetyReqRespTimeout
and gSarSafetyReqRespRetry leads the callback api
to execute for more than 10 seconds which is not as per
driver's scheduler design.
To avoid above issue update above INI values to limit
the execution of the callback api to execute for less
then 10 seconds.
Change-Id: Icdeaf360754b2e86119251cd66c4e8f107f08d98
CRs-Fixed: 2637653
According to new changes in kernel 5.4 version onwards, driver has to
provide the policy for a NL command to be verified against while
registering wiphy to the kernel.
To accommodate these changes, add policy for the following
vendor command that is being registered in the driver
QCA_NL80211_VENDOR_SUBCMD_LL_STATS_CLR
Change-Id: I5d29cc624021d489b641045e52d71db86cf3a09b
CRs-Fixed: 2634435
This is part of adding channel frequency response. Enable debug log of
CFR component.
Change-Id: I0186129270c181c26b836b56545ef64507308808
CRs-Fixed: 2637183
According to new changes in kernel 5.4 version onwards, driver has to
provide the policy for a NL command to be verified against while
registering wiphy to the kernel.
To satisfy kernel 5.4 requirement add policy to following vendor
command as part of this change:
QCA_NL80211_VENDOR_SUBCMD_BTC_CHAIN_MODE
Change-Id: I6c6f0757df879def054862b7da09c8d7e856ff86
CRs-Fixed: 2635056
According to new changes in kernel 5.4 version onwards, driver has to
provide the policy for a NL command to be verified against while
registering wiphy to the kernel.
To satisfy kernel 5.4 requirement add policy to following vendor
commands as part of this change:
QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_START
QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_STOP
QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_GET_CONFIG
Change-Id: I2c7f4e6b41d341aac7b0984838c72f33a1e1ac5e
CRs-Fixed: 2634094
Define a dummy API for hdd_cleanup_ndi to avoid "Unknown symbol"
error while loading driver when WLAN_FEATURE_NAN is not enabled.
Change-Id: Ib0d07c5ac7e57cf93e3a20eb6d12c50106939335
CRs-Fixed: 2640856
Use INI "sta_disable_roam" to disable roaming on STA interface if
connection on other interfaces ex. p2p, ndp comes up. Each bit of
the INI "sta_disable_roam" represents an interface.
ex. LFR3_STA_ROAM_DISABLE_BY_P2P BIT(0)
LFR3_STA_ROAM_DISABLE_BY_NAN BIT(1)
As INI "sta_disable_roam" is generic for all the interfaces, cleanup
for INI "p2p_disable_roam" done.
Change-Id: Icd05a97c640ca07978d9960a33de036ed6fe38df
CRs-Fixed: 2637555
According to new changes in kernel 5.4 version onwards, driver has to
provide the policy for a NL command to ve verified against while
registering wiphy to the kernel.
To accommodate these changes, add policy for all the following
vendor commands that are being registered in the driver
QCA_NL80211_VENDOR_SUBCMD_DO_ACS
QCA_NL80211_VENDOR_SUBCMD_GET_FEATURES
Change-Id: I56d685cf3d7bab8f758d52b2e5d3c0a735accb26
CRs-Fixed: 2635226
According to new changes in kernel 5.4 version onwards, driver has to
provide the policy for a NL command to ve verified against while
registering wiphy to the kernel.
To accommodate these changes, add policy for all the following
vendor commands that are being registered in the driver
QCA_NL80211_VENDOR_SUBCMD_ROAMING
QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY
QCA_NL80211_VENDOR_SUBCMD_DFS_CAPABILITY
QCA_NL80211_VENDOR_SUBCMD_NAN
QCA_NL80211_VENDOR_SUBCMD_STATS_EXT
Change-Id: Ie2fb541d45ecc04dc5d3f80a3af9060c390ae7f5
CRs-Fixed: 2634373
Currently MCS parameters are not getting correctly in
wiphy which results in incorrect capabilities for iw list
command output.
To resolve above issue, update MCS parameters correctly in
wiphy band capabilities.
CRs-Fixed: 2633314
Change-Id: I830ad50aa4842bd2a79c97ed7b11b82c35148ff0
According to new changes in kernel 5.4 version onwards, driver has to
provide the policy for a NL command to ve verified against while
registering wiphy to the kernel.
To accommodate these changes, add policy for all the following
vendor commands that are being registered in the driver
QCA_NL80211_VENDOR_SUBCMD_GET_CONCURRENCY_MATRIX
QCA_NL80211_VENDOR_SUBCMD_GET_WIFI_CONFIGURATION
QCA_NL80211_VENDOR_SUBCMD_TDLS_GET_CAPABILITIES
QCA_NL80211_VENDOR_SUBCMD_OFFLOADED_PACKETS
QCA_NL80211_VENDOR_SUBCMD_MONITOR_RSSI
Change-Id: Ia67c9c1d4839e5061f25971578830714abcd66ff
CRs-Fixed: 2633596
According to new changes in kernel 5.4 version onwards, driver has to
provide the policy for a NL command to ve verified against while
registering wiphy to the kernel.
To accommodate these changes, add policy for all the following
vendor commands that are being registered in the driver
QCA_NL80211_VENDOR_SUBCMD_SETBAND
QCA_NL80211_VENDOR_SUBCMD_SCAN_DONE
QCA_NL80211_VENDOR_SUBCMD_OTA_TEST
QCA_NL80211_VENDOR_SUBCMD_SET_TXPOWER_SCALE
QCA_NL80211_VENDOR_SUBCMD_SET_TXPOWER_SCALE_DECR_DB
QCA_NL80211_VENDOR_SUBCMD_ACS_POLICY
QCA_NL80211_VENDOR_SUBCMD_STA_CONNECT_ROAM_POLICY
QCA_NL80211_VENDOR_SUBCMD_SET_SAP_CONFIG
QCA_NL80211_VENDOR_SUBCMD_TSF
QCA_NL80211_VENDOR_SUBCMD_WISA
QCA_NL80211_VENDOR_SUBCMD_GET_STATION
QCA_NL80211_VENDOR_SUBCMD_P2P_LISTEN_OFFLOAD_START
QCA_NL80211_VENDOR_SUBCMD_P2P_LISTEN_OFFLOAD_STOP
QCA_NL80211_VENDOR_SUBCMD_SAP_CONDITIONAL_CHAN_SWITCH
Change-Id: Ibc9ec144eac63a8dab19e01c1718d17ea5cabb35
CRs-Fixed: 2633912
According to new changes in kernel 5.4 version onwards, driver has to
provide the policy for a NL command to ve verified against while
registering wiphy to the kernel.
To accommodate these changes, add policy for all the following
vendor commands that are being registered in the driver
QCA_NL80211_VENDOR_SUBCMD_GET_SUPPORTED_FEATURES
QCA_NL80211_VENDOR_SUBCMD_GET_FEATURES
QCA_NL80211_VENDOR_SUBCMD_GET_LOGGER_FEATURE_SET
QCA_NL80211_VENDOR_SUBCMD_GET_WIFI_INFO
QCA_NL80211_VENDOR_SUBCMD_GET_BUS_SIZE
QCA_NL80211_VENDOR_SUBCMD_NO_DFS_FLAG
QCA_NL80211_VENDOR_SUBCMD_LL_STATS_SET
QCA_NL80211_VENDOR_SUBCMD_SET_WIFI_CONFIGURATION
QCA_NL80211_VENDOR_SUBCMD_NAN_EXT
QCA_NL80211_VENDOR_SUBCMD_NDP
QCA_NL80211_VENDOR_SUBCMD_SCANNING_MAC_OUI
QCA_NL80211_VENDOR_SUBCMD_WIFI_LOGGER_START
QCA_NL80211_VENDOR_SUBCMD_LL_STATS_GET
QCA_NL80211_VENDOR_SUBCMD_ROAM
QCA_NL80211_VENDOR_SUBCMD_PACKET_FILTER
QCA_NL80211_VENDOR_SUBCMD_ND_OFFLOAD
QCA_NL80211_VENDOR_SUBCMD_GW_PARAM_CONFIG
QCA_NL80211_VENDOR_SUBCMD_KEY_MGMT_SET_KEY
QCA_NL80211_VENDOR_SUBCMD_GET_RING_DATA
QCA_NL80211_VENDOR_SUBCMD_TRIGGER_SCAN
Change-Id: I714c8b21a95144f7ed8ff4c6e038782e469edf3d
CRs-Fixed: 2621308
Presently vdev delete is sent to firmware 1st and the object manager
vdev delete is deleted after all the references are released.
With this change the vdev delete is sent to firmware when all the
references are released and the vdev delete is sent to firmware via
the object manager vdev delete notification.
Change-Id: I67bea0d2b2a0d2d9eb4602e5d0b8bbdcafdd4d26
CRs-Fixed: 2618278
In hdd_softap_deregister_sta, cdp_clear_peer may return fail
as peer has been deleted in other path, but the free of sta_info
will be continue.
So in hdd_softap_stop_bss, it will still access mac address
from sta_info, which will cause use after free.
Fix:
Even cdp_clear_peer return failure, it is expected, so only
log but not return failure to caller function.
In hdd_softap_stop_bss, remove mac address info log as in
hdd_softap_deregister_sta, there has been enough log for
each failure case.
Change-Id: Id06c78cb8d215488eb34d8412359ac2d684756d5
CRs-Fixed: 2637287
According to new changes in kernel 5.4 version onwards, driver has to
provide the policy for a NL command to be verified against while
registering wiphy to the kernel.
To satisfy kernel 5.4 requirement add policy to following vendor
command as part of this change:
QCA_NL80211_VENDOR_SUBCMD_SET_TRACE_LEVEL
Change-Id: Ifbeba29b5c3c7783217ed5f2352286e5537753e6
CRs-Fixed: 2633340
According to new changes in kernel 5.4 version onwards, driver has to
provide the policy for a NL command to ve verified against while
registering wiphy to the kernel.
To accommodate these changes, add policy for all the following
vendor commands that are being registered in the driver
QCA_NL80211_VENDOR_SUBCMD_TDLS_ENABLE
QCA_NL80211_VENDOR_SUBCMD_TDLS_DISABLE
QCA_NL80211_VENDOR_SUBCMD_TDLS_GET_STATUS
QCA_NL80211_VENDOR_SUBCMD_GET_SUPPORTED_FEATURES
Change-Id: I4ad3d952d2af8f1d7f37179f9c92b0e77fc2eb23
CRs-Fixed: 2635755
Add new ini CFG_SET_SAP_XLNA_BYPASS under fw_offload to allow host
to pass config to FW. WMI_PDEV_PARAM_SET_SAP_XLNA_BYPASS makes the
SAP xLNA bypass configureable.
Change-Id: Ie501005f3035f14b3f23cdd260f401a6af81b798
CRs-fixed: 2632088
These debugfs files are to replace wext cmd setUnitTestCmd
/unit_test/wlan_suspend/wlan_resume.
unit_test_host:
/sys/kernel/debug/wlan_xx/unit_test_host
wlan_xx is driver name
unit_test_target:
/sys/kernel/debug/wlan_xx/unit_test_target
wlan_xx is adapter name
wlan_suspend:
/sys/kernel/debug/wlan_xx/wlan_suspend
wlan_xx is adapter name
wlan_resume:
/sys/kernel/debug/wlan_xx/wlan_resume
wlan_xx is adapter name
Change-Id: I1ddf44b47a3f0d2e11ff74022dc1a26888da974c
CRs-Fixed: 2631424
According to new changes in kernel 5.4 version onwards, driver has to
provide the policy for a NL command to ve verified against while
registering wiphy to the kernel.
To accommodate these changes, add policy for all the following
vendor commands that are being registered in the driver
QCA_NL80211_VENDOR_SUBCMD_GET_WAKE_REASON_STATS
QCA_NL80211_VENDOR_SUBCMD_OCB_SET_CONFIG
QCA_NL80211_VENDOR_SUBCMD_OCB_SET_UTC_TIME
QCA_NL80211_VENDOR_SUBCMD_OCB_START_TIMING_ADVERT
QCA_NL80211_VENDOR_SUBCMD_OCB_STOP_TIMING_ADVERT
QCA_NL80211_VENDOR_SUBCMD_OCB_GET_TSF_TIMER
QCA_NL80211_VENDOR_SUBCMD_DCC_GET_STATS
QCA_NL80211_VENDOR_SUBCMD_DCC_CLEAR_STATS
QCA_NL80211_VENDOR_SUBCMD_DCC_UPDATE_NDL
QCA_NL80211_VENDOR_SUBCMD_LINK_PROPERTIES
Change-Id: I1fa51d2fdf75a20098fe651769352d69d8fbd48c
CRs-Fixed: 2633726
According to new changes in kernel 5.4 version onwards, driver has to
provide the policy for a NL command to ve verified against while
registering wiphy to the kernel.
To accommodate these changes, add policy for all the following
vendor commands that are being registered in the driver
QCA_NL80211_VENDOR_SUBCMD_GET_HW_CAPABILITY
QCA_NL80211_VENDOR_SUBCMD_LL_STATS_EXT
Change-Id: I33498d0980e96d7aca6c1cf3da8941654d2d6380
CRs-Fixed: 2633925
bus_bw timer start happens when first NDP is connected and
stop happens when last peer is departed indication is received
from firmware. But as part of driver unload, driver issues
stop_bss and firmware doesn't send any NDP END indication after
receiving this. So the timer started as part of first NDP confirm
is not stopped.
Try to stop the timer after processing the sme_disconnect which
is issued as part of stop_adapter for NDI mode.
Also, in STA+NDI concurrency scenario, bus bandwidth timer is
stopped on STA disconnection since hdd_any_adapter_is_assoc
checks only for other active STA or SAP. Add an NDI active
check so that timer is not stopped when NDPs are present on
an NDI.
Change-Id: Ibec447846fefad153261830c34bf2fa914636c7a
CRs-Fixed: 2625586
According to new changes in kernel 5.4 version onwards, driver has to
provide the policy for a NL command to ve verified against while
registering wiphy to the kernel.
To accommodate these changes, add policy for all the following
vendor commands that are being registered in the driver
QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_START
QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_STOP
QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_GET_VALID_CHANNELS
QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_GET_CAPABILITIES
QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_GET_CACHED_RESULTS
QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_SET_BSSID_HOTLIST
QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_RESET_BSSID_HOTLIST
QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_SET_SIGNIFICANT_CHANGE
QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_RESET_SIGNIFICANT_CHANGE
QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_PNO_SET_LIST
QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_PNO_SET_PASSPOINT_LIST
QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_PNO_RESET_PASSPOINT_LIST
Change-Id: I664e59564642c25fad931aca37cbc696b0c53b49
CRs-Fixed: 2635225
According to new changes in kernel 5.2 version onwards, driver has to
provide the policy for a NL command to be verified against while
registering wiphy to the kernel.
To satisfy kernel 5.2 requirement add policy to following vendor
command as part of this change:
QCA_NL80211_VENDOR_SUBCMD_GET_CHAIN_RSSI
Change-Id: Id1d1f1ee339bcef83b714e33cc174f886fee5ce6
CRs-Fixed: 2634263
According to new changes in kernel 5.2 version onwards, driver has to
provide the policy for a NL command to be verified against while
registering wiphy to the kernel.
To satisfy kernel 5.2 requirement add policy to following vendor
command as part of this change:
QCA_NL80211_VENDOR_SUBCMD_EXTERNAL_ACS
Change-Id: If2e7aec3d6f6d98168e0ceededea8d86db7078d9
CRs-Fixed: 2634255
In certain case, the active SAP interface will be deleted by
__wlan_hdd_del_virtual_intf by upper layer. In that case,
we need to flush pmksa in SAP PMKID cache.
Change-Id: I9a152df7a4c27aef82664f039fbca18259d6b63a
CRs-Fixed: 2635424
Currently sar safety request response event is not getting
reset before it starts wait for completion in sar
unsolicited timer callback which may cause issues if this
event gets complete multiple times.
To avoid above issue, reset the sar safety request response
event before it starts wait for completion.
CRs-Fixed: 2634885
Change-Id: I47b8abd6e960acc4dd9eef43faebe7e34203c380
The Qtime offset derived with a connected AP (master) are not
cleared on disconnect. This leads to storage of stale offset
values. So clear the stale Qtime offset values on disconnection.
Currently there is no information in ftm_time_sync sysfs entry
regarding which BSSID the Qtime offset values are derived.
Add the BSSID info in the sysfs entry.
Change-Id: Iac47bccffae005602469a658e5ca0bc9008ac4b4
CRs-Fixed: 2629822
According to new changes in kernel 5.2 version onwards, driver has to
provide the policy for a NL command to be verified against while
registering wiphy to the kernel.
To satisfy kernel 5.2 requirement add policy to following vendor
command as part of this change:
QCA_NL80211_VENDOR_SUBCMD_SET_SAR_LIMITS
Change-Id: Ic02df66a2937aa3e1fd6b6193fbe31b7b4141ba4
CRs-Fixed: 2634250
According to new changes in kernel 5.2 version onwards, driver has to
provide the policy for a NL command to be verified against while
registering wiphy to the kernel.
To satisfy kernel 5.2 requirement add policy to following vendor
command as part of this change:
QCA_NL80211_VENDOR_SUBCMD_CONFIGURE_TDLS
Change-Id: I181d9d5c4160847d4d1be98f2ce5fa2627b3972a
CRs-Fixed: 2634233
Add ini support for DFS Channel Ageout Time, the time upto which
DFS channel information such as beacon found is remembered.
This ini is used to set the ageout timer value from host to FW.
If not set, FW will disable ageout time.
This value is sent as a WMI_PDEV_PARAM_SET_DFS_CHAN_AGEOUT_TIME
as part of WMI_PDEV_SET_PARAM_CMDID.
Change-Id: I99553fa87a4025f03c52b4b387a414ba06c2c457
CRs-Fixed: 2625996
According to new changes in kernel 5.4 version onwards, driver has to
provide the policy for a NL command to be verified against while
registering wiphy to the kernel.
To satisfy kernel 5.4 requirement add policy to following vendor
command as part of this change:
QCA_NL80211_VENDOR_SUBCMD_OEM_DATA
Change-Id: Idf44f40763aa967681a3e5e9df43f259b0254b61
CRs-Fixed: 2635048
According to new changes in kernel 5.4 version onwards, driver has to
provide the policy for a NL command to be verified against while
registering wiphy to the kernel.
To satisfy kernel 5.4 requirement add policy to following vendor
command as part of this change:
QCA_NL80211_VENDOR_SUBCMD_BEACON_REPORTING
Change-Id: I2f7cba7cb16d4a13fab33398e3034e71902317f3
CRs-Fixed: 2635027