When firmware attempts roaming to an MLO AP, it tries to find
the complete ML info(all links info) either through ML probe
response or beacons from all the links. It forwards all link
beacons(or ML probe response) to host as part of roam sync
indication through roam sync frame event. The link beacon frame
needs to be fetched from roam sync indication and cache it in
connect resp to use it while link connect in roaming cases.
Add a new param in connect response structure to facilitate this.
Change-Id: Ib015728c8ee880337c4d1fdadc373c9e52247b55
CRs-Fixed: 3342433
Compilation is failing due to Missing definition
of KERNEL_VERSION as the Header file is added
before including <linux/version.h>.
Fix is to move the Header file at the end.
CRs-Fixed: 3338337
Change-Id: I83fc448becc4af81df9b4c7b3fe9193875c7f6f1
Retain ds ring indices across wifi restart to avoid
edma hang. Fetch the indices from ds module and set
the corresponding ds ring indices.
Change-Id: Ia299a7006166aef096c7d2c1f65f6bef65415a37
CRs-Fixed: 3332152
CFG section definitions for 6 GHz low & high band for
ini configurations. These new definitions enables us to
configure the unique INI parameters for 6 GHz low and
6 GHz high band, for new solution of Split-phy in 6 GHz.
Change-Id: I1417dee90f0aebe31f24a64017d9203b74dfc886
CRs-Fixed: 3332719
Currently we distinguish EAPOL frames by taking the secure bit in key
information field into account. This is sometimes error because for WPA
handshake M3/M4 secure bit is 0 (GTK is not included in M3) whereas for
WPA2 handshake M3/M4 secure bit is 1 for WPA2 handshake. This change uses
the ack bit in key information field to differentiate M1/M3 from M2/M4,
then uses the key data length as well as Key Mic and Encrypted Key Data
in key information field together to identify EAPOL M2 and M4 frames.
Change-Id: Iac88bc5b942415edee08dc4a98dbd4e811cb8604
CRs-Fixed: 3327876
Introduce a new attribute to configure access category
override for UDP frames of BE/BK category. Unlike, the
earlier attribute QCA_WLAN_VENDOR_ATTR_CONFIG_UDP_QOS_UPGRADE
which will override for all UDP frames, this attribute is
for overriding only for BE/BK based UDP frames.
CRs-Fixed: 3332609
Change-Id: Ife6104b97bca83653fdcac31f2c91007d1aa6f2a
Introduce a run time roam configuration for "hand off delay for RX".
This value, in milliseconds, will delay the hand off for the specified
time to receive pending RX frames from the current BSS.
Change-Id: I961109a2f9287a611ae8f4b38e2ea824ecf9c559
CRs-Fixed: 3329952
Currently join timeout is retried 2 extra time which can lead
to unsuccessful connect time of about 9+ sec, this lead to
beacon miss on the MCC concurrency.
So reduce it to 1 try to limit connect time to around 3+ sec in
case of candidate freq can lead to MCC concurrency.
Change-Id: I642a7acd1e2a49308836bd1bb6c77ab1aeb110e4
CRs-Fixed: 3328642
Currently, in driver, if DUT fw does not support 11be,
11be capable beacons will not be parsed in the scan result.
But driver can have 11be capable parsing even when target
is not capable of 11be. This may be helpful in understanding
OBSS and ACS kind of scenarios.
To fix, driver will parse 11be capable beacon in the scan result.
Change-Id: I1eb4d60c8a7513a01126575dd9c4fc4f1a4ee6e0
CRs-Fixed: 3296848
When vdev1 connected, if find vdev0 isn't connected, disconnect vdev1 in
async way by sending msg to scheduler thread, and disconnect vdev0 cmd is
enqueued to serialization before disconnect vdev1 cmd, so vdev0 assoc peer
delete happens before vdev1 link peer, F/W assert happens.
To fix it, when vdev1 connected, if find vdev0 isn't connected, disconnect
vdev1 in sync way, and let disconnect vdev1 cmd enqueue to serialization
queue header instead of tail, make sure it is activated befored disconnect
vdev0 cmd.
Change-Id: I80b1c8f6528bdd58e953851e164e5bfce2b3bd4a
CRs-Fixed: 3339030
Using pdev_wmi_handle instead of wmi_handle in
target_if_peer_set_ppe_default_routing
Change-Id: I7eb94d2b92078c55f2c03f4ccd57d124d3229053
CRs-Fixed: 3341573
secondary_cur_chan_list channel list is for mobile device SAP, which
by default cannot enable on LPI channels, and cannot enable on SP
channel until AFC server response received.
Populate 6 GHz channels to secondary_cur_chan_list based on 6 GHz
regulatory rules of current country, LPI channel will not be added
in because it is not allowed for mobile SAP. And update 6 GHz SP
channel attributions if received AFC response.
Also add APIs to populate power attributions of secondary_cur_chan_list
and decide proper 6 GHz power attributions if 6 GHz channel frequency
and bandwidth being selected.
Change-Id: I6aa0228f18f7e31fc3cdd63a98483d02afb0579a
CRs-Fixed: 3204156
With CONFIG_NO_TLV_TAGS=n, seeing below values showing in dump.
sizeof(struct rx_msdu_end_tlv) = 136
sizeof(struct rx_mpdu_start_tlv) = 128
Indeed these values match current comments for CONFIG_NO_TLV_TAGS=y.
Therefore correct the comments for rx_msdu_end_tlv and
rx_mpdu_start_tlv length for better readability.
Change-Id: I655f8fb9df09f5f7bb63f4bb2e3f297725354fbe
CRs-Fixed: 3340399
Add vdev callback to notify once the vdev has entered into
MLO_SYNC_WAIT state.
Change-Id: I655bfa68d666807468cacf1a0a052ac6ddf0b8d6
CRs-Fixed: 3338519
Add more log for wlan_logging_thread to monitor
thread start/exit.
and also add memory barrier wmb to make sure exit
flag/shutdown_comp have been set done.
Change-Id: I6549f344f50bdd9df3a29c4ab724ea67213670de
CRs-Fixed: 3320274
Assign value for ADFS 320 MHz support chain mask capability bit
extracted from WMI event.
Change-Id: I9d96fe9072a390da4d57585358bac516007f9620
CRs-Fixed: 3333937
- Renamed t2lm_provisioned_links as hw_link_map_tid in the T2LM
data structures.
- Renamed wlan_t2lm_of_tids structure as wlan_t2lm_info.
Hence, added this change to fix the compilation errors.
Change-Id: I969202137adbd5bfb5e910d45514ea9074e9b1b1
CRs-Fixed: 3337530
Create wlan_mlo_t2lm.h and wlan_mlo_t2lm.c files for T2LM.
Add APIs to add and parse TID-to-link mapping IEs.
Change-Id: I6ae23a35662185040ad9f5a4d983a16782e3fc35
CRs-Fixed: 3329887
Ensure the grp_id is not greater than MAX_TA_RA_ENTRIES to avoid
potential out of array illegal memory access.
Change-Id: I343fffe6078b33d0ec618ea7b4abbfd17c4bb814
CRs-Fixed: 3340482
pkts from rmnet device are sent as SG, we see poor
throughput when transmitting these SG frames using
an MSDU extension descriptor. to resolve this issue
we identify if the frame is from RMNET device and if so
copy the headers from skb linear address to the frag
address and provide the frag address to HW for transmission
CRs-Fixed: 3337822
Change-Id: Ic1b7d9f861dcd4f838509772c45e47d3917fc59f
Add support to record last busy events on RX CEs,
this helps to check how frequent CEs are marking busy.
Add support to display last busy history and runtimepm stats.
Change-Id: I856ce54a2f1c6b26722d27623343fc0a2c202c6f
CRs-Fixed: 3337902
Below signature is seen on sdxpinn when HOST reads IPA TX
doorbell address, which leads to HLOS crash.
Internal error: synchronous external abort: 96000010
Indeed IPA TX doorbell address is write-only. Behaviors
on such read access violation is arch-dependent. On
certains platforms, such violation is ignored but read
returns 0.
Hence remove the read access to IPA TX doorbell address
in hal_srng_dst_init_hp() to avoid arch-dependent
behavior.
Change-Id: I3486cd81741922e697e2b3d307db3209b710aa6a
CRs-Fixed: 3339302
As part of MLO dynamic link deletion handling, cfg80211_disconnected is
taking link_id as an argument.
Add changes to support link_id param in cfg80211_disconnected.
Change-Id: Ia312b5e5768ba9abb11675839e912d4819a2fa86
CRs-Fixed: 3315102
Enable ppe direct switch feature by default
through ini, and rename the ppe_enable parameter
to ppe_ds_enable
Change-Id: I574838394ab9edd0445f65f81f05566967208276
CRs-Fixed: 3339167
List iterators should conform to upstream discussion. List iterators that
reach end of list do not point to NULL but rather they point to list_head.
Dereferencing the iterator in this case would break the list. The scope of
the list iterator should be confined to the loop. Solution is to use assign
ptr to iterator when condition is met, this ptr can be used outside of the
loop.
Change-Id: I896b85bbd24b63e6b1562d35ffec8abc920f1b6d
CRs-Fixed: 3331681
Add a new vendor subcommand
QCA_NL80211_VENDOR_SUBCMD_MLO_PEER_PRIM_NETDEV_EVENT to send notification
to application layer about primary netdev of an MLO peer association.
Also define the attributes present in this subcommand.
Change-Id: I84ba177c5d7155f627d4d3fa86c64c4f9b24951c
CRs-Fixed: 3280634
Currently if ENABLE_HOST_TO_TARGET_CONVERSION is defined,
host pdev/vdev set params can be translated to
target pdev/vdev set params through APIs
convert_host_pdev_param_tlv,convert_host_vdev_param_tlv.
If ENABLE_HOST_TO_TARGET_CONVERSION is not defined,
host pdev/vdev set params in
common code is sent to firmware directly, which is incorrect.
Define pdev/vdev set params in such away they represents
host params on ENABLE_HOST_TO_TARGET_CONVERSION enabled and
target params on ENABLE_HOST_TO_TARGET_CONVERSION disabled.
Change-Id: I5718c76c351b2d7904d8bf8b603073ffcb0a039d
CRs-Fixed: 3321556
Add changes to indicate ongoing critical update CU flags and
BPCC values in probe and assoc/reassoc response.
For beacon FW update the CU flags and BPCC values in impacted
and partner links and keeps the latest copy of BPCC for ML VDEV.
The similar CU indication needs to be considered for probe,
assoc/reassoc response.
FW indicate to host the ongoing CU flag within DTIM interval for
impacted, and latest BPCC values of AP MLDs in impacted
and partner link VDEVs as part of mgmt_rx_event.
Extract cu_vdev_bitmap and bpcc values CU information from
wmi_prb_tmpl_ml_info TLV for probe and assoc / reassoc request.
Pass these values to umac, mgmt and ol layer as part of rx status.
Refer these values to update CU flag in capability information,
and BPCC values to update BSS Parameter Change Count in RNR,
MLIE and per sta profile.
CRs-Fixed: 3301916
Change-Id: I92ededb6598f85f3ea21b9d5e69d182c6180e30d
To check the allowed dot11 mode of the VDEV, add new member to
struct vdev_mlme_proto hold this value.
Change-Id: I5bfbff0ab3056013a997744b8e9ce0b4d0a3d43b
CRs-Fixed: 3314403
Current log format has redundant info in wmi_log_cmd_id.
Ex: wmi_log_cmd_id: Send WMI command:WMI_INIT_CMDID command_id:1 htc_tag:0
Optimize the same by removing "Send WMI command" and "command_id"
Change-Id: I394a42033cdef2b5fb51343a1f6f9690a5a41fba
CRs-Fixed: 3328230
Add void keyword to function definitions for
ce_service_srng() and target_if_get_ctx().
Change-Id: I4d74600da82a9f13285a496a2136589b698da017
CRs-Fixed: 3336700