When roaming has started and connect request from userspace
is received, disconnect is initiated as part of the connect
request and RSO stop->RSO Deinit is sent to firmware. But
before receiving the RSO stop, firmware posted the Roam Synch
indication to the host driver. While droping the roam
synch indication, the driver does abort roaming and as part of
that RSO state is changed to RSO enabled in connecting state.
Change the RSO state to RSO enabled only if roaming or roam synch
indication processing is in progress.
Change-Id: I7869d1a559884480708b9d1a493296a443364f0b
CRs-Fixed: 3089165
The [-Werror,-Wformat] compiler option is enabled,
Format specifies type does not match the argument
type.
Fix the compiler errors that format specifies type
does not match the argument type.
Change-Id: I66c4834693c41217f1263e8d23e9e291f7045c55
CRs-Fixed: 3089460
Host send HTT_H2T_MSG_TYPE_WDI_IPA_CFG cmd to fw, need update
high 32bit addr for non-smmu platform which alloc physics
address more than 4G, like addr 0x1 5000 0000.It will cut
off bit32~bit63, fw get memory is 0x5000 0000, it's maybe
use for peripheral memory.when fw write addr 0x5000 0000,
it will meet some error.
Change-Id: Ic5c5c00c85bdf08e61c9ff0f539989d2e96bb153
CRs-Fixed: 3077016
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