Currently the feature is taking up both a rtpm_lock and a wake_lock
while trying to "allow" or "prevent".
Remove the use of wake_lock as the system is not expected to be in
suspend state at high throughputs where this feature is applicable.
Change-Id: I7335e5273983d219d2568d19dc44e86794dd0d48
CRs-Fixed: 3088736
Add INI - mgmt_frame_hw_tx_retry_count to configure MGMT
frame HW tx retry count for certain frame types.
The INI String format:
frame_hw_tx_retry_count="<frame type>,<retry count>,..."
The supported frame types are defined by enum mlme_cfg_frame_type.
Retry count max value is 127.
For example:
mgmt_frame_hw_tx_retry_count="0,64,2,32"
The above input string means:
For p2p go negotiation request fame, hw retry count 64
For p2p provision discovery request, hw retry count 32
Change-Id: I32f6c7d83ede9b28484c7a0b29824bde32e06422
CRs-Fixed: 3082532
Along with 11BE_MLO feature macro, check for Kernel 11be macro as well
to avoid compilation issues when kernel doesn't support MLO.
Change-Id: Ie6b513cdb9846b1c47674cabbd8e5ff1a1adff63
CRs-Fixed: 3087573
Currently, the host does not check STA+STA concurrency
before sending VDEV/PDEV level PCL command to FW.
1. In case of STA Standalone connection, Host should send
PDEV level PCL commands to FW and marks all channels in PCL
as allowed.
2. In the case of STA + STA connection in MCC/SCC, Host
should send PDEV level PCL command for primary vdev id and
mark all channels in PCL as allowed.
3. In case of STA + STA connection in DBS, Host should
send VDEV level PCL command for both vdev id and via PCL
list host should make sure band is restricted to maintain
only DBS.
4. Initially STA + STA connection in DBS and then one STA
got disconnected. In this case, After disconnection Host
should send PDEV level PCL command for connected vdev id
and mark all channels in PCL as allowed.
Change-Id: I59cf5dfd1bf8fb26e360a8b0b5456fe05037376a
CRs-Fixed: 3084156
Currently whenever there is a idle shutdown suspend delay is added
to timeout to prevent the suspend running in parallel to the shutdown
this delay is added for the idle shutdown time also, rather add
the delay only for the suspend API.
Change-Id: I2726301cc7bf3c421bcd19167aec1ab12bff820f
CRs-Fixed: 3086873
It is possible tx_time_per_power_level is not freed
in last event, and it is reused in
__wma_unified_radio_tx_power_level_stats_event_handler,
the buffer size may be different for each event by
manually test.
Fix is to check if memory is freed before malloc, if
not null, free it before malloc.
Change-Id: I51064734cf97b9ff0ecbbaf27f38d5a223c91d3b
CRs-Fixed: 3057436
In hdd_config_tx_rx_nss and hdd_config_vdev_chains, it
missed to check if tx_attr or rx_attr is null, which will
cause invalid memory access.
Change-Id: Ic3427d714e240507cf4253588f706d06d355ba93
CRs-Fixed: 3086252
Register dynamic set MAC address feature with the framework.
If driver supports this feature, then framework doesn't need to
issue interface down and interface up to set the MAC address.
Change-Id: I7a493574c11c8d51731021d418cfeaf942720383
CRs-Fixed: 3066743
Add logic to disable/enable sap forwarding.
Set "ap_isolate=1" in hostapd config file to disable.
Set "ap_isolate=0" to eanble it.
It's enabled by default if didn't set any value.
Change-Id: I979dca55688ed52a7115d9027c8dd81262ff6dfa
CRs-Fixed: 3082193
Currently there is no provision to get the calibration failure
information from the driver. Because of this it is getting difficult
to debug the calibration failure issues.
To simplify the calibration failure issue debugging, add support to
parse calibration failures events in the driver.
Change-Id: I6d831804cca259862fea3e8bb4af33d556138d43
CRs-Fixed: 3078926
When fixed_param->num_radio is 0 from FW, host allocates
struct tSirLLStatsResults with 0 count of struct wifi_radio_stats
to wma_handle->link_stats_results.
When the second radio stats comes, the driver will
not allocate wma_handle->link_stats_results because
wma_handle->link_stats_results is not NULL.
Later driver will access the wma_handle->link_stats_results based
on radio_stats->radio_id. This will access invalid memory
because the original wma_handle->link_stats_results memory
didn't include the wifi_radio_stats.
Fix by free the link_stats_results if
wma_handle->link_stats_results->num_radio is 0, then driver
will allocate wma_handle->link_stats_results memory including
the struct wifi_radio_stats based on num_radio.
Change-Id: Ie1d6bbe8c668d2fb475fddb60907fd13a7f8de66
CRs-Fixed: 3082779
ssid_allowed_list is cleared for each RSO stop.
To fix it, only clear ssid_allowed_list when disconnect, don't clear
it for each RSO stop.
Change-Id: I577191295d388ab92440d7bf65b6a0da6c342181
CRs-Fixed: 3087296
when MLO is enabled the non-mlo connect notification are not getting
sent to the userspace in case of security association resulting in
the assoc timeout.
Send the connect notification in the SAP side and also release
the peer reference cleanly.
Change-Id: Id0f190be547c03f26c59a49cb8c4a74e1b90877c
CRs-Fixed: 3085979
If MLO STA is present, allow further STA connections to all
available bands/channels irrespective of existing STA
connection band.
Change-Id: Ic7da10b2e74645b73c579b38f43bb7e3105b6f55
CRs-Fixed: 3088656
Support to deliver SMPS, OPMODE to user app, and
deliver RRM report to son module.
Change-Id: I9e12043e59878c5e46d24f02717356ad40d7e35d
CRs-Fixed: 3056538
Use wlan_get_vendor_ie_ptr_from_oui() instead of
wlan_get_ext_ie_ptr_from_ext_id() to parse vendor specific
WFA Hotspot-2.0 IE
Change-Id: Ie9ee6c1f16d0eb83f52b7d9afa97f362f8400ff3
CRs-Fixed: 3080931
When connect from wpa_supplicant and roam from F/W happens at same
time, supplicant hold cm cm_req_lock and wait rsp from scheduler
thread, sheduler thread is blocked to wait for cm_req_lock.
Change-Id: I6b9010972d29be9a32d3b85ee72891ed62b50801
CRs-Fixed: 3087169
Add numss_m1 and ru_bit_mask check before access the data in
ppet16_ppet8_ru3_ru0.
numss_m1 + 1 should not exceed WMI_HOST_MAX_NUM_SS.
ru count should not exceed 4.
Change-Id: Ide6b562dacb0592fb5c2101c0ce016570cb1dac3
CRs-Fixed: 3080599
Bus bandwidth timer tweaks certain aspects of the system during
throughput transitions. For example, when throughput goes high, system
parameters are tweaked in favor of system performance. Hence, when high
performance is not needed, the timer relies on throughput transitioning
to low to reset the parameters in favor of power.
During a corner case, its possible that while througput is high, wlan
adapter is immediately brought down. This stops the bus bandwidth timer
abruptly without letting the the timer detect a throughput transition to
low. This may result in higher power consumption even when there is no
data activity or throughput is low.
Explicilty force a transition to "IDLE" state when bus bandwidth timer
is stopped.
Change-Id: I0a0a64a855714b1a8b5a52a048604fef54a0ee41
CRs-Fixed: 3087118
There is a race condition when adapter is deleted after it is
validated in DP rx path and is assigned an invalid vdev id and
eventually invalid net_device.
To fix this, dropping packets if vdev id is found to be invalid
right before assignment to skb->cb.
Change-Id: I4e483363f59a22b45e18da929f749cd9807cc2fc
CRs-Fixed: 3084556
"sap_radar_found_status" is used to check Radar event detected
or not in CAC wait state. Clear "sap_radar_found_status" before
SAP starts to avoid the stale value saved in previous sap start or
CSA. This can happen when the SAP is restart state and get
"stop ap" request from userspace. The invalid value will
cause the wlansap_start_beacon_req retrun without deliver start
beacon msg and cause the no beacon in OTA.
Change-Id: I6336510881333e2775c29dcc167a77d5d745ace9
CRs-Fixed: 3085312
Function lim_update_sta_run_time_ht_switch_chnl_params() will check
preauth condition, but it is not enough, as preauth will create a
new session with pe session with same vdev_id.
It should work in preauth condition, but not after preauth is done.
Replace the checking by function wlan_cm_is_vdev_roaming(). And
remove following lim_is_roam_synch_in_progress checking, as
wlan_cm_is_vdev_roaming checking already cover LFR2 and LFR3 both.
Change-Id: I06732ac7fdc98fe8eba438c4be50861ce8debe08
CRs-Fixed: 3080663
Currently, SAP state machine is moved to INIT state when SAP
start is aborted due to timeout or SSR. SAP is not cleaned up
in such cases as eWNI_SME_STOP_BSS_REQ (which further issues
vdev down and cleanup the peers properly) is not sent to
below layers(firmware).
Replace qdf_wait_for_event_completion to
wait_for_completion_timeout in start_bss which will wait
till the normal operation execute irrespective of firmware
state/SSR.
Change-Id: Ifff2ca9658769cb1145f1c5cb278cd7551cb8c00
CRs-Fixed: 3058550
During SAE roam auth offload, update the beacon/probe response
frame coming from the FW via WMI_ROAM_FRAME_EVENTID into the
scan db.
When the bss info of the preauth candidate is unavailable in
the host/kernel scan entry, supplicant fails to determine the
proper SAE PWE config of the peer and the commit request fails.
Change-Id: Ia782ece7bebf8274f949fe9fb3b2a2882bf47597
CRs-Fixed: 3075458
Currently, ping latency enhancement feature only supports IPv4, if
a ICMPv4 request frame is recevied during a configurable interval,
it will be marked to route to FW. This change extends to ICMPv6
request frame as well.
Change-Id: Iefa563bc1788c233c5f6a0dbb1a586d163b16284
CRs-Fixed: 3082398