Add pld API to get audio timestamp needed in FTM wlan
timesync feature to synchronise the audio clocks of
master and slave devices
Change-Id: I6f08e33904e26728492286f516ce5a8074afd1ea
CRs-Fixed: 2616917
Presently, there is a very narrow race condition that causes
scheduler_thread to remain in a suspended state for undefined period of
time. The race condition occuers between idle_psoc_timeout and
wlan_hdd_cfg80211_resume_wlan.
As a part of idle_psoc_timeout, the driver calls hdd_wlan_stop_modules
that sets the flag "stop_module_in_progress" and checks if driver is in
suspended state. If yes, it resets the flag and returns. But in the case
of a race condition, before this reset and return is carried out,
wlan_hdd_cfg80211_resume_wlan is invoked. The validate_context inside
the resume function fails due to the above mentioned flag being set. As
a result, resume fails and the driver stays in suspended state. This
causes the driver to enter a infinite loop of stop_modules not being
successful.
To close this small window of contention, remove the validate_context
check. hdd_ctx is always guranteed to be valid and also DSC takes
care of synchronizing the operation, thus the check is redundant.
Change-Id: I723f78e4c33bdc531776c46eff2428dbd869493f
CRs-Fixed: 2616177
Currently there are unnecessary/duplicate logging. Identify and
reduce those logs that are not necessary.
Change-Id: I5473db8cf2406aa6aa2f8531cf5a0cc8b7bd2188
CRs-Fixed: 2614121
Currently, wma->peer_macaddr is passed as peer mac address for
NDP peer removal. This gets filled only when PEER_STATS_INFO is
queried from firmware. This is not the right mac address to be
sent for peer removal. Driver might attempt to remove an invalid
peer(or NULL) which leads to assertion in wma_remove_peer.
Get the peer mac address from tpDeleteStaParams which is
sent from lim and pass it to wma_remove_peer.
Change-Id: I90beb7edc1d6ad5790ed972dcb9d3ac42bc04ea7
CRs-Fixed: 2617918
Currently there is no SAR index is configured to the FW
before device goes into suspend mode.
with the new requirement, configure the sleep mode index
as sar power limit to the FW before device goes into
suspend mode and configure safety mode index to the FW
on wakeup.
Change-Id: Icedbab047ec3bb252f0ed9c1b2baf04d2726a60e
CRs-Fixed: 2617102
lim_sta_send_add_bss_pre_assoc, sta_send_add_bss and
wma_send_peer_assoc have duplicate logs.
Also send_peer_assoc_cmd_tlv print all the required info with
flags and other params.
So remove the duplicate logs and keep only missing info in
sta_send_add_bss and wma_send_peer_assoc, which is not printed
anywhere.
Change-Id: Ic5aa63f1a4296553b584bcc768d8c5cb04ddddf3
CRs-Fixed: 2616910
Add support SAR request-response event. When
sar_unsolicited_timer expires driver sends
QCA_NL80211_VENDOR_SUBCMD_GET_SAR_LIMITS_EVENT event to
user space and expects user space to set sar power limits
with the vendor command
QCA_NL80211_VENDOR_SUBCMD_SET_SAR_LIMITS.
Add a request-response event to wait for
QCA_NL80211_VENDOR_SUBCMD_SET_SAR_LIMITS vendor command from
user space. If driver does not get
QCA_NL80211_VENDOR_SUBCMD_SET_SAR_LIMITS command from user space
for a specified number times, driver configures the sar safety
index to the FW.
Change-Id: Ic2b9e0b7fe06093ce849fb46df7bfce5da409ef6
CRs-Fixed: 2615519
Add SAR unsolicited timer to the driver. This timer starts
on every data tx (if not already running) and stops on
command QCA_NL80211_VENDOR_SUBCMD_SET_SAR_LIMITS.
If this timer expires, a vendor event
QCA_NL80211_VENDOR_SUBCMD_GET_SAR_LIMITS_EVENT is sent to the
user space to issue the QCA_NL80211_VENDOR_SUBCMD_SET_SAR_LIMITS
command.
Change-Id: Ic30e5ac606d2b6b0cbc9209174adcd5213eac08e
CRs-Fixed: 2615510
Add SAR safety timer to the driver. This timer starts
when first QCA_NL80211_VENDOR_SUBCMD_SET_SAR_LIMITS
vendor command is recived. This timer gets
reset on every sar set vendor command.
When this timer expires, configure sar safety index to
the FW and restart the timer.
Change-Id: I0536ab88baf962e1bc2aef39478380534e0e1401
CRs-Fixed: 2615442
As part of new requirement add ini configurations
gSarsafetyTimeout, gSarSafetyUnsolicitedTimeout,
gSarSafetyReqResTimeout, gSarSafetyReqResRetry,
gSarSafetyIndex, gSarSafetySleepIndex,
gEnableSarSafety, gConfigSarSafetySleepIndex.
Change-Id: I18df23896b52aa1bbf8e071e27703d4e9e1738f1
CRs-Fixed: 2612843
As per the logic implemented in the FW, it will send a dummy event for
link layer stats in case the buffer allocation fails. In this case,
there can occur a scenario in host wherein we are not properly freeing
the previously allocated memory.
In the event handler wma_unified_link_radio_stats_event_handler, if the
event is dummy, we are updating the value of the num_radios inside
wma_handle->link_layer_results. This num_radios is later used to free
any allocated memory. On setting it to zero, we are preventing that
memfree to occur; leading to a memleak.
To fix this, in case there is a dummy event, first free any possible
previous results before setting the num_radios to be zero.
Change-Id: Ibe4ddf1a137a33130100483cefb004b7dae4ce02
CRs-Fixed: 2610754
The INI param gDot11Mode is used to indicate the support that the driver
should advertise. Currently the behavior of the driver is out of sync
with the mode supported over the air and the mode provided to the
framework.
In one particular case, the driver sends VHT supported as
true to the framework even though the INI gDot11Mode is set to 11n only.
This results in the frames to be transmitted with 11n capabilities while
the mode advertised is different.
To rectify this, check for the dot11 mode before setting the
corresponding supported bit in the wiphy. The value being advertised
should be the intersection of gDot11Mode INI and the driver and
firmware capability.
Change-Id: Ic2f1558c72fc801df9d7ca6b3a0182619b93cf0d
CRs-Fixed: 2612620
Add support to customize DSCP-to-UP map table and send the
customized map values to FW to update its corresponding
map table.
Change-Id: Ibe9704a90468c898dd2e60fdf83a271152f654ce
CRs-Fixed: 2616247
Roaming logs are logging to kmsg, so unused diag log
sending API can be removed.
Remove unused roaming diag logs.
Change-Id: Idd5cfd2ad1f63394cb6b1872512bcc17307a78e6
CRs-Fixed: 2617079
Add following changes to refine csr_dump_connection_stats:
1. Remove unused argument and rename the function to reduce the
number of characters used.
2. Add self mac address information.
3. Rename Auth type to AKM. Print the AKM string instead of
existing diag auth type enum as it doesn't include new WPA3 and
FILS related AKM.
4. Print channel and channel bandwidth on the same line.
New format of log:
csr_connect_info: 3692: +---------CONNECTION INFO START------------+
csr_connect_info: 3692: VDEV-ID: 0 self_mac:18:23:73:36:23:0f
csr_connect_info: 3692: ssid: FILS_AP
csr_connect_info: 3692: bssid: c8:b3:73:36:a3:0f
csr_connect_info: 3692: rssi: -25 dBm
csr_connect_info: 3693: channel: 6 channel_bw: BW_20MHZ
csr_connect_info: 3695: dot11Mode: DOT11_MODE_11N
csr_connect_info: 3700: AKM: FILS-SHA384
csr_connect_info: 3701: Encry-type: ENC_MODE_OPEN
csr_connect_info: 3702: channel frequency: 5745
csr_connect_info: 3703: Qos enable: 1 | Associated: yes
csr_connect_info: 3704: +---------CONNECTION INFO END------------+
Change-Id: Ia87357dd607bfa0d9256c8129bf8e4448ae93104
CRs-Fixed: 2614465
Wext handlers are not getting deregistered during the
interface down of monitor mode. So. After the idle shutdown
also the user can issue ioctls which can lead to system instability.
Fix is to remove the wext handler as part of adapter deinit.
change-ID: I49ab4b0cfa0125b253bc097f180226f2095d5df1
CRs-Fixed: 2615138
Currently there are unnecessary/duplicate logging. Identify and
reduce those logs that are not necessary.
Change-Id: I5ec0a7e06cdade73f0e99369ad89b0b677a9a96b
CRs-Fixed: 2615407
Currently the driver sets rmf capability and encrypts
management frames only if peer advertises MFP required and the
sta is also MFP capable. The SAP marks the vdev as PMF enabled
if SAP is MFP capable. This will result in back to back connection
failures or STA performing SA query procedures after disconnecting
and connecting to the AP again.
Check for the AP MFP capability and STA MFP capability to enable
PMF.
Change-Id: Ie851f8dc6d08c46d5eec36c3eff34d322d37fac3
CRs-Fixed: 2612342