On MDM platform, low throughput is observed for SAP RX
terminated scenario. In case of SAP, SAP device itself
is added as a slave to the bridge device, which acts as
a router device.
For SAP RX terminated scenario, destination MAC address
of RX packets is the bridge device. However for WDI 3.0,
WLAN IPA has to check if destination MAC is a valid peer
for SAP intra-bss forwarding.
Currently in intra-bss forwarding, dp_find_peer_by_addr()
is used to look up if destination MAC address is a valid
peer. Issue is that in dp_find_peer_by_addr() peer
spinlock is grabbed via qdf_spin_lock_bh. IPA RX is in
process context and qdf_spin_lock_bh turns to spin_lock_bh,
which hurts netif_rx badly.
Fix is to check if RX packet is bridge device terminated
in IPA component module so as to bypass intra-bss
forwarding logic and to make the RX path BH lockless.
Note that if there's a BH lockless API to check if
destination MAC address is a valid peer, this check will
not be necessary.
Change-Id: I00fca3e75ae55ae1d2f591fddd00e49dfb634c5c
CRs-Fixed: 2494442
Define void * data members of cp_stats with specific type, remove void
pointer usage for part of cp stats code.
Change-Id: Iace37c0a546909b865d5185830a2e02b5b39b7d8
CRs-Fixed: 2492544
During con mode change the driver will perform pld idle shutdown
and restart and if the interface change timer is running which
results in duplicate of idle stop queueing.
To resolve this, add psoc idle timer stop during the con mode change.
Change-Id: I7befefd2cb996d6b3e0b4ee92ecb15e615d33e30
CRs-Fixed: 2491208
Currently the driver does not update the ACS primary channel,
and secondary channel (in case of 40, 80MHZ) in scan fail
cases or all the channels in the particular band for which ACS came
were unsafe, SRD, DFS, indoor etc., which leads to
SAP bringup fail.
Fix is to update the primary, secondary channels in case of
scan, or select channel fail.
Change-Id: I66ce390f89bf69ee0695526fccbd2d412e0edf87
CRs-Fixed: 2450028
Add freq_list in tagCsrChannelInfo to replace ChannelList
Add APIs to translate between channel list and freq list
Change-Id: I2f086d9371e2ec928bbb47aa2be91d65a206f4d6
CRs-Fixed: 2492624
Currently, only beacons are transmitted to upper layers
in case of external scan. Allow probe responses as well
in external scan.
Change-Id: I23860c761eab82073821274d2c3125487e3abde4
CRs-Fixed: 2494767
When STA receives DEAUTH ind event from target, vdev_id will be
mis-used as PE session ID when invoking lim_tear_down_link_with_ap.
Also enhanced related log for more useful info.
Change-Id: I755e0e170c36205ef20a21955546cc36437c1be4
CRs-Fixed: 2491669
In hdd_set_reset_apf_offload, vdev_id is not assigned before
sending reset packet filter command.
Change-Id: If8c9297f19e19eba01b4415144304b9f744a5de9
CRs-Fixed: 2496035
As for Rome, currently it usually just only support two
IPA interfaces offload, if use the default value 3, which
will cause the IPA pipe setup failure issue. So export
the max IPA interface numbers, and it's better to set
the appropriate value from build file according to
different requirement for different chipset and platform.
Meanwhile, it support SMMU on the sa415 platform, so
enable SMMU for it.
Change-Id: I2de31bcb4d38f5e7964d2cbdc2fc6f143eef510d
CRs-Fixed: 2480627
Prepare to replace channel id with channel frequency of struct
bss_description, first cleanup reference of channel id of struct
bss_description in wlan_hdd_assoc.c wlan_hdd_cfg80211.c wlan_hdd_main.c
lim_assoc_utils.c lim_ft.c lim_process_sme_req_messages.c
lim_sme_req_utils.c rrm_api.c sme_api.c nan_datapath_api.c sme_rrm.c,
use channel frequency instead.
Change-Id: I980f74d77af97df2b2ade61250d44a606c76a7ef
CRs-Fixed: 2491488
Currently ext scan is enabled by default in driver which
is increasing driver size significantly and ext scan
is not getting used anymore.
Disable ext scan with feature flag CONFIG_FEATURE_WLAN_EXTSCAN
to reduce driver size.
Change-Id: Id0fdeae6e6b71f53d3b73322aca659254d52cec8
CRs-Fixed: 2491452
Host fill netbuf with qtime instead of tsf. In function
"hdd_get_soctime_from_tsf64time", when Host check RX packet
tsf value less than last_target_global_tsf_time, it will
return error. Then, Host will the default value 0 to
upper layer.Sometimes, User will found some packets FW
recvTime is not increasing compared with last packets.
So modify it to calculate qtime from tsf all the time.
Change-Id: Icc53f22b4213fb46ff3bfc3e3df940cb28c632f5
CRs-Fixed: 2485600
Remove currentOperChannel from pe_session. Use curr_op_freq
instead of currentOperChannel.
Change-Id: Ibfa2abd22d3c70ff86c34dd0f5bc538c5c62a5b2
CRs-Fixed: 2490651
Prepare to replace channel id with channel frequency of struct
bss_description, first cleanup reference of channel id of struct
bss_description in csr_api_roam.c, use channel frequency instead.
Change-Id: If584dcbd5a6c1718af1902799e1f679898ef3585
CRs-Fixed: 2491396
Host need to fill netbuf with qtime instead of tsf.
This function already realized in Change-Id
"Ib19ac1411c4e17624c012f188297c9f2122642d2".
But it only support STATION RX mode. add the similar
action for SAP RX mode.
Change-Id: Idb3f9da5488b19db48e96258ecb4539b5af3c9a6
CRs-Fixed: 2483566
As per existing design, dp rx mic error information is
posted to HDD via SME. HDD inturn indicates the mic error
to supplicant.
Define new HDD callback hdd_rx_mic_error_ind for
rx mic error, registered through the CDP API
cdp_register_rx_mic_error_ind_handler. This will
enable datapath to directly post mic error info to HDD,
eliminating processing by corestack.
Change-Id: I6561dc5e66e7059c249c1eeeabdbf754989221d2
CRs-Fixed: 2488455
Post rx mic error information to HDD via new HDD mic
error callback(hdd_rx_mic_error_ind) registered to
.rx_mic_error member in dp_ol_if_ops.
Change-Id: Ia1e2b78a94dddba48937995ecf62fb5a7ae4139d
CRs-Fixed: 2488452
rx mic error information is now posted to new HDD mic
error callback(hdd_rx_mic_error_ind) via .rx_mic_error
member in dp_ol_if_ops.
Cleanup the dead code left behind.
Change-Id: I32fd135506382c085755e25cab5af86824cea511
CRs-Fixed: 2488464
Issue:-
Sap does not restart when unsafe
channel event comes, due to the acs mode
flag not set though acs happened.
Scenario:-
Turn on STA on channel number 1.
Turn on SAP on 2.4ghz band.
Make the channel number unsafe.
Observation:-
Sap fails to restart.
Expectation:
Sap should restart on some other channel.
Fix:-
Set the flag before the driver returns the
best channel as the STA channel.
Change-Id: I2cf2f5d3096da04f3c43969b7405b81c743fe2e2
CRs-Fixed: 2492087
While processing vendor command: GET_PREFERRED_FREQ_LIST respective
handler __wlan_hdd_cfg80211_get_preferred_freq_list() do not validate
pcl_len received from policy_mgr_get_pcl() which can be zero when
current regulatory domain is ETSI13 based, gindoor_channel_support=0
and etsi13_srd_chan_in_master_mode=0.
If pcl_len is zero then invalid index is computed in
wlan_hdd_populate_weigh_pcl() when trying to access
chan_weights->weight_list[pcl_len - 1].
To fix this, add zero length check for pcl_len before accessing
weight_list[plc_len - 1].
Change-Id: Ie8bf52fe289634efc104ca674d70fcd1beb6c304
CRs-Fixed: 2492630
Add op_freq in tagCsrRoamConnectedProfile. Finally remove
operationChannel from tagCsrRoamConnectedProfile in next
few changes.
Change-Id: Ie9be4b59483412866d915448b33f8cb6cc9e2d7c
CRs-Fixed: 2489893
Send the current reject ap list to FW so that the FW too
updates the same in there database to enable roaming if
any AP is removed from the list.
Change-Id: I9c0176a2c4ae970e454f03b577f6fc98af5b62de
CRs-Fixed: 2489448
Currently btm offload command is sent to FW as part of RSO Start
for all type of roam req reason and btm offload disable command is
sent to the FW as part of RSO STOP. In case of STA+STA concurrency
case, while btm offload is enabled for the 2nd
STA after UPDATE_CFG sent for STA1, the FW asserts because it has btm
offload enabled for STA 1 while UPDATE_CFG and has not deconfigured
it yet. Send btm offload enable command as part of RSO Start in case
of roam_req->reason == REASON_CTX_INIT only to the FW so that it
configures btm for the currently enabled STA only in case of INIT
and re-configures for the second STA without assertion.
Change-Id: Ib146072c7cd0543ea82122702d6585d1d2a2e2d1
CRs-Fixed: 2493122
Add op_freq in csr_roam_profile. Finally remove
operationChannel from csr_roam_profile in next
few changes.
Change-Id: I7a3d7fe7e77b18424f487429aaa19ca1a97b8aba
CRs-Fixed: 2489914