提交图

160 次代码提交

作者 SHA1 备注 提交日期
Vijay Raj
ca687602ac qcacld-3.0: Fix filling Auth TX status code value after roaming
In the api extract_roam_frame_info_tlv(), the status code
for the MGMT tx packet is filled with tx_status value instead
of correct value.

Modify the api extract_roam_frame_info_tlv() to populate the
proper value of status code for MGMT TX packet.

Change-Id: Ia07b34ccc74f47bfac56bb1831e4ad1bce237d63
CRs-Fixed: 3741911
2024-03-05 13:32:39 -08:00
Pragaspathi Thilagaraj
d37eb7a783 qcacld-3.0: Free the pairwise keys allocated to inactive link
When firmware roams to 2 link AP and sends roam synch key event,
then the pairwise keys are still copied to key_entries for all
the three links in extract_roam_synch_key_event_tlv(). But
since 3rd link is not valid, the pairwise key memory allocated
is not freed resulting in memory leak.

So free the allocated redundant memory for invalid link pairwise
key after roaming.

CRs-Fixed: 3697540
Change-Id: Idfdb53c918d8e684e6171b5e0917e722a2fc605a
2024-01-23 04:58:56 -08:00
Amruta Kulkarni
4292b68281 qcacld-3.0: Free crypto key entry
Firmware sends WMI_ROAM_SYNCH_KEY_EVENTID after roaming
to 3 Link ML AP. Host allocates memory for every crypto
keys and populates data from the fw event.
This memory is not freed if the addition to crypto
module fails and results in memleak.

Fix is to free the crypto key entry when addition fails.

CRs-Fixed: 3678765
Change-Id: Ife70261b697ec016f50d4e0730c3fa4fc0ec06ab
2024-01-08 20:22:03 -08:00
Aasir Rasheed
66638cf217 qcacld-3.0: Update crypto cipher types
Addressing an issue where the host driver receives a raom
sync key event with cipher type 15 and length 32 from the
firmware. Currently, Host lacks an updated cipher type and
defaults to value 0, corresponding to WEP key, with a maximum
length of 16. This invalid conversion result in firmware
crashing during the install key command.

This change is to add crypto cipher type corresponding
to fw implementation.

CRs-Fixed: 3680670
Change-Id: I2bc5b486fd9df79334191c84bc57151ed7efdfcf
2024-01-02 04:18:59 -08:00
Srinivas Dasari
45783fe883 qcacld-3.0: Don't send RSO_STOP if it's already sent
Currently, RSO_STOP is sent to firmware if ROAM_SYNC is aborted
due to some reason. Host doesn't check for the current state of
RSO state machine and may send the RSO_STOP twice. Firmware
responds with SUCCESS for the second request and driver
continue to cleanup peer/vdev assuming that it's a normal
RSO_STOP response. This results inconsistency in firmware
as it might be in the middle of peer/vdev cleanup and
leads to ASSERTION.
Check for the RSO state machine status and avoid sending
RSO_STOP twice.

Change-Id: I87cdb4a682095772070a839bbb86e56a9450b299
CRs-Fixed: 3677172
2023-12-19 00:21:07 -08:00
Aasir Rasheed
a7bc75bb49 qcacld-3.0: Send enable/disable 5GL+5GH MLSR to fw
This change is to send enable/disable 5GL+5GH configuration to firmware.

Change-Id: I6e199bcc4a969efcc39fa31ff49e414bf1f5b52e
CRs-Fixed: 3667605
2023-12-03 11:43:23 -08:00
Ashish Kumar Dhanotiya
793694f8f7 qcacld-3.0: Add bearer switch WMI interface changes
When there are more than one audio transport mediums
are available, there is a possibility to switch the
audio transport medium from one medium to another
medium.
To provide this support to switch the audio transport
medium, and to indicate the status of the bearer
switch to fw, add WMI interface changes.

Change-Id: I236e2d9a954191c104d56d286332ace644190e6e
CRs-Fixed: 3653962
2023-11-14 12:09:28 -08:00
Pragaspathi Thilagaraj
df6c71a6b6 qcacld-3.0: Change roam synch indication RSSI data type
While parsing the roam synch indication event from the firmware,
the RSSI is copied into a uint8_t variable. But RSSI is negative
value. So change the data type of roam_synch_ind->rssi as signed
int8_t type.
Firmware sends absolute value as RSSI so convert it into a negative
value before assigning to the destination buffer.

Change-Id: Ibec6ee8bfefc612be1600a0820ff061a247460ad
CRs-Fixed: 3641086
2023-11-10 14:35:50 -08:00
Rahul Gusain
1586bdaa2b qcacld-3.0: Resolve static analyzer issues
This change resolves following static analysis issues:
1. Using uint32_t and enumeration as operands to logical AND
operator (&&) is not allowed by the static analyzer tool.
Convert them to bool and use.
2. Overwriting the variable previous value before using it.
3. sizeof(key_alloc_buf[k]) returns 4/8 bytes as key_alloc_buf[k]
   contains pointer. Use sizeof(*key_alloc_buf[k]) to get right
   size of the object and use it to mem_zero the buffer.

Change-Id: I6faa5b3ff6847786a7f6ac525ccb0e5f60dbd020
CRs-Fixed: 3646512
2023-10-26 22:34:46 -07:00
Srikanth Marepalli
f1d00fad4c qcacld-3.0: Add vendor attribute for high RSSI roam trigger threshold
Currently the roam scan high RSSI delta is configured via INI.
Define an attribute to allow user configure high RSSI roam
trigger threshold. STA is expected to trigger roam if the current
connected AP's RSSI gets above this high RSSI threshold. STA's
roam attempt on high RSSI threshold aims to find candidates from
other better Wi-Fi bands.
This attribute value is given priority over the INI.
Use a new service bit WMI_SERVICE_5GHZ_HI_RSSI_ROAM_SUPPORT to
enable high RSSI roam trigger in 5 GHz as well.

Change-Id: Ide48ad2261b603de36bd1b31114b91c3a9d6606f
CRs-Fixed: 3586170
2023-10-18 00:51:55 -07:00
Vijay Raj
48e2ab6bf7 qcacld-3.0: Add band info for Neighbor report logging event
Band is not printed for the neighbor report request/response logs.
Fill band info for neighbor report request/response frame
logging event from the wmi_neighbor_rpt_info TLV
wmi_roam_neighbor_report_info->neighbor_report_detail[Bits 26:24]
for both the single TLV and multi TLV case.

This band info indicates the band of the link over which the
frame was transmitted/received.

Change-Id: I2c6671ffc600cba571c666f01fa07fb3d89eb6a8
CRs-Fixed: 3626819
2023-10-10 22:50:27 -07:00
Pragaspathi Thilagaraj
3b584aa20d qcacld-3.0: Reset HDD sta_ctx link info params after roam
Reset HDD sta_ctx link info parameters after roaming to
reset the values in case of roaming from 3/2 link AP
to 1 link ML AP

Change-Id: I5e8165e50b92eed476d16696c14d4db82192c4ed
CRs-Fixed: 3627330
2023-09-30 19:06:37 -07:00
Aasir Rasheed
c03f357db6 qcacld-3.0: Notify firmware on CSA rejection
The host driver now sends a notification to the
firmware when a CSA (Channel Switch Announcement)
is rejected due to no change in channel, bandwidth,
or puncture.

Change-Id: I5d8a424459898d15a7931baf7ca4c3de8308c64e
CRs-Fixed: 3595843
2023-09-26 05:25:31 -07:00
Vijay Raj
0dc1988bb3 qcacld-3.0: Modify MGMT logs to add MLO Parameter after Roaming
MLO parameter is not observed in association/reassociation
request/response logs when connected to MLO AP.

Call api wlan_populate_mlo_mgmt_event_param() in the
api cm_roam_mgmt_frame_event() in order to populate
MLO parameter in MGMT frame logs after roaming.

Change-Id: I9dbd1a224ec861964a78883088440d79ae80cdd6
CRs-Fixed: 3620741
2023-09-25 05:15:37 -07:00
Vijay Raj
94f55718b5 qcacld-3.0: Add frequency to peer for Connectivity Logging
Introduce support to add frequency to peer in
order to enable Connectivity diag logging for
datapath related events

Change-Id: I634ddc0206530f1039a37fd60643877b2fdf7e87
CRs-Fixed: 3596250
2023-09-20 23:59:12 -07:00
Surya Prakash Sivaraj
8005c96788 qcacld-3.0: Cache standby link beacon during 3link roam
If FW roams with 3-links, assoc beacon and link beacons
are sent by the firmware in roam sync frame event.
However, driver parses the per-sta link info of the
assoc beacon and caches the individual per-link probe
responses only if the link beacon is not present.

Therefore, in 3-link roaming cases, if both assoc link
ML probe response(assoc link + one partner link) and link
probe/beacon are received, then the per-sta profile present
in the ML assoc link probe is not saved to the scan cache
and this leads to bss retrieval failures.

To fix this, parse per-sta profile and generate individual
probe responses directly from the roam sync frame event for
both link and assoc beacon/ML probe responses. This caches
all the partner links individually.

Also, set the assoc state for the standby link bss after the
completion of roam sync processing on assoc vdev. This prevents
the age out of the standby link scan entry.

Change-Id: Ib349aedb826d5037c6015434557d909477e87e5a
CRs-Fixed: 3613058
2023-09-14 01:33:15 -07:00
Vijay Raj
454a96b1bd qcacld-3.0: Add support for MLO specific data for RRM logging
Add support to add band info for Neighbor report request,
Neighbor request response, Beacon report request and
Beacon report response logging for MLO usecase.

Band info will indicate the band of the link involved
in MLO connection.

Change-Id: I758be63f085be46244f727a842806fb27660e8dd
CRs-Fixed: 3583958
2023-09-11 07:02:14 -07:00
Vijay Raj
d2132108e7 qcacld-3.0: Add support for MLO specific data for BTM logging
Add support to add band info for BTM Query, BTM request
and BTM response logging for MLO usecase.

Band info will indicate the band of the link involved
in MLO conenection.

Change-Id: I5ba9fff874da52aa36af6ced97f065d9976665e2
CRs-Fixed: 3583657
2023-09-09 03:36:12 -07:00
Vijay Patil
52e5d326f6 qcacld-3.0: Add support to handle PEER_OPER_MODE_CHANGE event
Firmware sends PEER_OPER_MODE_CHANGE event to host in SAP
mode when a connected client indicates upgrade/downgrade
of its bandwidth.
Host needs this data as any further SAP bandwidth
upgrade/downgrade should honor the indicated bandwidth for
that specific peer.

Change-Id: I50fecf670b47c56e3f33b8519fde1d5eaec7523f
CRs-Fixed: 3604716
2023-09-05 15:13:55 -07:00
Pragaspathi Thilagaraj
6da3613393 qcacld-3.0: Update self mac address from roam sync indication
After roaming to 3 link AP, update the MLO manager with the
self link address received from the roam synch indication.

Change-Id: I6258abe7bb9e140307c30fee8701ef12a618d9f1
CRs-Fixed: 3591487
2023-08-30 01:37:23 -07:00
Pragaspathi Thilagaraj
e25cd1cafb qcacld-3.0: Allow 3 link roam sync based on fw capability
Currently while processing roam synch indication event, the
setup links info is filled for WLAN_UMAC_MLO_MAX_VDEVS(2). But
with 3 Link MLO support, it will reject the roam synch
indication event.
So allow 3 Link roam synch based on fw capability and ini
intersection for number of links supported. Use
wlan_mlme_get_sta_mlo_conn_max_num() API to get max allowed
links for connection.

Also replace array length declaration for setup_links having
WLAN_UMAC_MLO_MAX_VDEVS and use WLAN_MAX_ML_BSS_LINKS instead.

Change-Id: I1982e50f5036ba4eacbab50044444a7238cd1073
CRs-Fixed: 3573066
2023-08-11 14:58:54 -07:00
Pragaspathi Thilagaraj
0f7d749e5f qcacld-3.0: Add support to parse ROAM_SYNCH_KEY event
ROAM_SYNCH_KEY event will be sent after roaming to a ML AP
with STA advertising standby-links.

WMI_ROAM_SYNCH_KEY_EVENTID TLV format:
-- wmi_roam_ml_key_material_param: PTK (link_id = 0xf)
-- wmi_roam_ml_key_material_param: GTK (link_id = 0)
-- wmi_roam_ml_key_material_param: IGTK (link_id = 0)
-- wmi_roam_ml_key_material_param: BIGTK (link_id = 0)
-- wmi_roam_ml_key_material_param: LTF KEYSEED (link_id = 0xf)
-- wmi_roam_ml_key_material_param: GTK (link_id = 1)
-- wmi_roam_ml_key_material_param: IGTK (link_id = 1)
-- wmi_roam_ml_key_material_param: BIGTK (link_id = 1)
-- wmi_roam_ml_key_material_param: GTK (link_id = 2)
-- wmi_roam_ml_key_material_param: IGTK (link_id = 2)
-- wmi_roam_ml_key_material_param: BIGTK (link_id = 2)

If length of any key exceeds WMI_MAX_KEY_LEN, then multiple
TLVs will be included for that key.

Change-Id: I64238acfbd29bc40df5971f098ad5802360d8777
CRs-Fixed: 3577923
2023-08-10 14:42:16 -07:00
Aditya Kodukula
b1969a2405 qcacld-3.0: Fix improper arguments for QDF_MAC_ADDR_REF
Currently in driver while using QDF_MAC_ADDR_FMT to print mac
address, the mac address reference provided to QDF_MAC_ADDR_REF is
incorrect in some cases. Fix all such instances.

Change-Id: Ib5d84b01542ebf04ee7d23fb65305036651a6a45
CRs-Fixed: 3556409
2023-07-18 22:54:49 -07:00
Sheenam Monga
f2c84fdaac qcacld-3.0: Clean up roam_scan_period_after_inactivity
Cleanup roam scan period after inactivity timer.

Change-Id: Idba15ef9c41fdfe339e24df4ec87a66277986ee3
CRs-Fixed: 3515188
2023-06-02 20:37:26 -07:00
Sheenam Monga
40c579a3ad qcacld-3.0: Send configured MLO TP percentage to FW
Send configured value of MLO TP preference percentage
via ini mlo_tp_preference_percentage to FW, so that FW
can consider provided value during score calculation
while roaming.

Change-Id: Iac8c82b525f9b37ff6d7eb86df369bd1efb375e3
CRs-Fixed: 3514938
2023-06-02 16:47:41 -07:00
Chunquan Luo
e86c473360 qcacld-3.0: Fix roam Unit test command fail
Since fw update the logic of roam stats, the data of
wmi_roam_trigger_reason maybe null when fw send event
of WMI_ROAM_STATS_EVENTID to host driver, and at that
time, the num_roam_trigger_reason is zero, we don't
need reduce the length when extract roam stats event.

Change-Id: I332de7ba2d2efeba722e2194af4b9c97ef310a73
CRs-Fixed: 3475501
2023-05-11 15:36:30 -07:00
Srinivas Dasari
a87a7cde2a qcacld-3.0: Extract all link probe rsps from ML probe rsp
Firmware sends beacon/probe response of the roam candidate to host
through roam_frame_event when it chooses a candidate which needs
SAE authentication to be performed. This is needed as the host
checks if corresponding scan entry is present in the scan db
before starting SAE authentication trigger.
But in MLO roaming case, firmware might send ML probe response
and the scan entry corresponds to re-assoc link might be present
in the per STA profile of the ML probe response.
So, extract all per-STA profiles and add them to scan db.

Also, use this API to extract and add the link specific
ML probe responses for the ML probe response received
in roam sync indication if extraction via roam info fails due
to some reason(currently it may fail if fw roams to a link but
got ML probe rsp from other link as link_info is not
present roam info).

Change-Id: I6c67927732a54568dfe618bdecaca8f37515e203
CRs-Fixed: 3454834
2023-04-17 04:34:57 -07:00
Jianmin Zhu
9228383500 qcacld-3.0: Wait HO_FAIL event when roam sync failed
Host received deauth and roam sync back-to-back after WoW, sent vdev
RSO_DISABLE before RSO_STATUS event, F/W assert.
1. Host received deauth event, limSmeState went out of link est state, sent
async event of cm_send_sb_disconnect_req.
2. Host received and handled roam_sync, CM_RSO: vdev0:
[ROAM_RSO_ENABLED(2)] --> [ROAM_SYNCH_IN_PROG(5)], roam sync failed since
not in link est state.
3. Host aborted roaming, ent back to CM-VDEV-0: CONNECTED, removed roaming
cmd from serialization queue.
4. Host sent RSO stop to F/W.
5. Host handled cm_send_sb_disconnect_req, dropped RSO stop during roam
sync, called cm_disconnect_continue_after_rso_stop without waiting for
RSO_STATUS event.
6. Host sent vdev RSO_DISABLE and vdev stop before received RSO_STATUS
event, F/W asserted.

To fix it, if host roam sync failed, need wait for HO_FAIL event and handle
it before handling other cmd, can't remove roaming cmd from assoc vdev
serialization queue to unblock other pending cmd before handling
HO_FAIL, just send assoc link RSO stop to F/W one time with
REASON_ROAM_SYNCH_FAILED, then wait for 2 events: FW_ROAM_EVT RSO status
and HO_FAIL. then handle HO_FAIL, at last remove roaming cmd, unblock other
cmd and trigger disconnect.

Change-Id: I03dd3ed21007ee67613c2d90b5567348c240f375
CRs-Fixed: 3445233
2023-04-10 20:48:40 -07:00
Surya Prakash Sivaraj
83299d06fc qcacld-3.0: Add support for AKM25
Add support for FT-SAE-EXT-KEY AKM.

Change-Id: Ia013a81f67d204fed486ab130b3480654703f59c
CRs-Fixed: 3406625
2023-03-27 11:20:51 -07:00
Jianmin Zhu
f6035ce635 qcacld-3.0: Extend WMI_ROAM_STATS_EVENTID for enhanced roam
Extend WMI_ROAM_STATS_EVENTID event information for
requirement of:
1.Roam trigger related information, include timestamp,
  trigger reason, trigger condition, abort reason,
  scan type, roam status and fail reason.
2.Roam scan related information, include scan channel
  number, dwell type, max dwell time of each channel
  and total scan time.
3.all types of roam related frame information, include
  timestamp and successful or failed status for Preauth,
  Reassoc, EAPOL-M1/M2/M3/M4.
Cache roam information in wlan driver, when qca vendor
cmd of QCA_NL80211_VENDOR_SUBCMD_ROAM_STATS get roam
information, driver send all the cached information to
user space.

change-Id: Ic5e1120b51c20c103100833b4296002c5939b021
CRs-Fixed: 3389269
2023-02-22 07:34:02 -08:00
Surya Prakash Sivaraj
b3f730b5c6 qcacld-3.0: Use kek/kck lengths from firmware
For newer AKMs with key materials length greater than
16bytes, kek, kck lengths varies. Therefore, get the
lengths explicitly from firmware and use them for saving
kek and kek materials.

Change-Id: Ie7ae61744e101899f12addc1baf90aed542a367b
CRs-Fixed: 3371470
2023-02-16 12:39:15 -08:00
Amruta Kulkarni
33989948e3 qcacld-3.0: Correct camelcase in roam data structure
Componentized code should be adhering to the coding standard.
However struct roam_offload_synch_ind has a large number of
camelcase members.

To fix this replace camel case members with snake_case.

Change-Id: If866379d8f01cc0e932ea391d586575de4af9163
CRs-Fixed: 3383579
2023-02-10 18:10:23 -08:00
abhinav kumar
f9137050ed qcacld-3.0: Avoid using fw-api defined enum at the CM layer
Currently, the definition of WMI_ROAM_GET_VENDOR_CONTROL_PARAM_ID
is present at the fw-api level. The host should not be using fw-api
definitions outside the WMI TLV code. To make sure it,

1. Add host-defined enum vendor_control_roam_param which defines
the param IDs that the host supports.

2. Add logic to convert host-defined enum vendor_control_roam_param
to fw-api defined enum WMI_ROAM_GET_VENDOR_CONTROL_PARAM_ID and
vice versa.

Change-Id: I035ece1bc0af8e583782460868193affb76db0f3
CRs-Fixed: 3363916
2023-01-27 10:39:03 -08:00
Amruta Kulkarni
87f1a94226 qcacld-3.0: Handle 1x roaming case
In case of 1x MLO roaming, 4 way handshake is offloaded to supplicant
and link vdev is down in FW. Host has to bring up link vdev post
set key installation.

Add handling in host for following:
- During roam sync indication handle only assoc link.
- Save reassoc response and link information.
- After keys are installed bring up link vdev by
queueing connect req on link vdev.
- Enable roaming after all links are up.

Change-Id: I9c0722f88e950ba05ec3dd7f44883bedf568f97d
CRs-Fixed: 3287316
2023-01-24 09:39:31 -08:00
Jeff Johnson
d78ed5cc16 qcacld-3.0: Fix WMI Documentation
The kernel-doc script identified multiple documentation issues
in components/wmi, so fix them.

Change-Id: Ic5bc41350ef846de91a1001d6fe1d28016e0f982
CRs-Fixed: 3361701
2023-01-11 03:46:59 -08:00
Surya Prakash Sivaraj
ae712fa3de qcacld-3.0: Add support for cross-SAE AKM roam
Pass the akm explicitly in the external auth
request to the userspace since there are many
SAE AKM suites.

Change-Id: Ifef8657f7ef75b402aa670813eba6adc5ab9853a
CRs-Fixed: 3355395
2022-12-29 05:19:08 -08:00
Surya Prakash Sivaraj
00330805e3 qcacld-3.0: Enhance KEK/KCK debugs
Enhance KEK/KCK debugs in the roam sync
event path.

Change-Id: If226899949fa0ca35ef5a3ac5a45d41e14a2d2f0
CRs-Fixed: 3362806
2022-12-18 23:21:47 -08:00
Surya Prakash Sivaraj
2095242876 qcacld-3.0: Increase PMK max length to 64bytes
For SAE-EXT-KEY AKM with group-21 pwe, the PMK
length is 64bytes. Therefore, increase the max
size of the PMK to 64bytes in host to facilitate
PMK storage and PMK offloads.

Change-Id: I777a31acd56073d6a0312c47d95fe7d155b06fc6
CRs-Fixed: 3353102
2022-12-09 09:35:17 -08:00
Srinivas Dasari
49ea4902ae qcacld-3.0: Reset the RSO SM of MLO link upon roam abort
Roam sync may get aborted on link vdev due to multiple reasons.
Link scan entry being not available at host is one such case.
del_sta response of BSS gets dropped due to stale link-RSO state
and results in disconnect timeout.
Reset the RSO state machine of link vdev when roaming is aborted
to allow cleanup the vdev in next disconnect.

Change-Id: Ie584c5b7ccae989cf2ce64e85da26d1b3526f1e0
CRs-Fixed: 3352543
2022-12-06 22:19:24 -08:00
Srinivas Dasari
7324535b01 qcacld-3.0: Copy link beacon from sync frame event to roam_sync_ind
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.
Add support to fetch both link beacons and add them to scan db.
If firmware sends ML probe response, generate link probe response
as well and add it to the scan db.
The link scan result can be used in link connect in case of
hybrid roaming like OWE, 1x,..

Change-Id: Ic8457a5630441d6fd3faeb4791c79422db787f94
CRs-Fixed: 3335225
2022-11-25 10:24:49 -08:00
Jeff Johnson
a0b4717c55 qcacld-3.0: Fix wmi_unified_coap_api.h documentation
The kernel-doc script identified several documentation issues in
wmi_unified_coap_api.h, so fix them.

Change-Id: Ied119dcf6acd477981c990007a916c66689bcce8
CRs-Fixed: 3331885
2022-11-14 07:38:39 -08:00
Srinivas Dasari
4cfbb4b30c qcacld-3.0: Free the old bcn if new one is rcvd in sync frame ind
Firmware may send two consecutive roam sync frame indications when
it supports MLO roaming. The first event carries link beacon and
second event carries assoc beacon. This is to let host driver have
both the link scan results if host has to take care of link
connect(e.g. OWE MLO roaming, EAP MLO roaming,.. ).
If host driver doesn't have support/doesn't need link beacon,
it would be overwritten by assoc beacon(e.g. wpa2 MLO roaming,
SAE MLO roaming, ..).
This results in a memleak as the previous cached beacon is
not freed(vdev->rso_cfg->roam_sync_frame_ind->bcn_probe_rsp).

Free the existing beacon if new one is received. Also, remove the
current free's from extract_roam_sync_frame_event_tlv() which
doesn't need any such freeing as the copy always happens to a
freshly allocated buffer.

Change-Id: If3b4d6e4b8e1e2af5306171ad7eda28e744da64e
CRs-Fixed: 3322094
2022-10-31 17:13:22 -07:00
Jeff Johnson
d6dfd79037 qcacld-3.0: Fix struct set_pcl_cmd_params documentation
The documentation for struct set_pcl_cmd_params has errors, so fix
them.

Change-Id: I07cdc4b73d5d8811fbbafb0a9671dcaf5154883e
CRs-Fixed: 3323040
2022-10-29 01:05:01 -07:00
Vijay Patil
30cb851dfb qcacld-3.0: Validate number of links in roam sync indication
Host driver expects maximum of WLAN_UMAC_MLO_MAX_VDEVS links
info in roam sync indication. But firmware may send more
number of links than expected and it may lead to buffer overflow.
Add a check to validate the number of links.

Change-Id: Id89d23470622ba3ca7e01a99cc7c12021ca3dafd
CRs-Fixed: 3314460
2022-10-26 02:52:58 -07:00
Surya Prakash Sivaraj
2517893ac1 qcacld-3.0: Enhance the debugs in RSO path
Add changes to enhance the debugs in the RSO path,
to identify the current pmk stored in the rso config.

Also, restrict the PMK dumps to a minimum size of 2.

Change-Id: I6e89afed45f5d43b45508ae43b59400a6e24e5ef
CRs-Fixed: 3312677
2022-10-17 04:51:57 -07:00
Yu Wang
61d6a7e8d1 qcacld-3.0: print SSID with QDF_SSID_FMT and QDF_SSID_REF
To protect user privacy, print SSID with QDF_SSID_FMT
and QDF_SSID_REF, then SSID will be hide in logs if
anonymization is enabled.

Change-Id: I3dd129b52c85c84e666f4f07b28a1e58f81259b7
CRs-Fixed: 3291841
2022-10-14 08:31:04 -07:00
Amruta Kulkarni
825c289d24 qcacld-3.0: Fix validation check for roam sync frame event
More than one roam sync frame event can be sent from FW so
the beacon, reassoc req or rsp length can be zero.
Hence the current code validation check is incorrect resulting
in roam abort.

To fix this, change the validation to check if beacon,
reassoc req or rsp value is non zero and then check the size.

Change-Id: I6ddec91686c23d9b8dac4c891b37bb1ce9d0fb30
CRs-Fixed: 3306428
2022-10-08 00:17:43 -07:00
Asutosh Mohapatra
d64cb46a9c qcacld-3.0: Fix prevent issues
This change
1.fixes the use of uninitialized
variable in host driver.

2.Adds validation in extract_roam_sync_frame_event_tlv
Where these frame lengths are getting populated,
also at the place where subtraction happens to prevent
overflows

3.Adds NULL check in wma_handle_roam_reason_deauth, to avoid
the null pointer dereference.

Change-Id: I2d5ba61fb109f6d8b497df29cfa2dd572c00adeb
CRs-Fixed: 3297792
2022-10-03 13:01:30 -07:00
Jeff Johnson
40bb864498 qcacld-3.0: components: wmi: Fix misspellings
Fix misspellings in components/wmi/...

Change-Id: I4ace2ae7bca8082dc9e8fd1d9e7c2bf0fed616ac
CRs-Fixed: 3303631
2022-10-03 00:19:23 -07:00
Jianmin Zhu
76b7b34cdd qcacld-3.0: Support transmit addr for roam pre-auth
When roam from SAE legacy to SAE MLO, pre-auth TA is MLD address,
while peer AP expects link address, pre-auth fails.
Parse transmit address field from firmware roam_preauth_start_event and
include it when send NL80211_EXTERNAL_AUTH_START to wpa supplicant for
SAE roaming cases.
If transmit address is all zeros, wpa_supplicant will not do ML sae
auth, use MLD address as TA.
If transmit address is not zeros, wpa_supplicant will do ML sae auth,
use 'transmit address' as TA.

Since self peer is created with mld address, when roam from legacy to
MLO, try to get peer by mld address during pre-auth tx since bss peer
absent, or TX fails for no peer.

Change-Id: I99ed846e94165bfe01e1d1e8c620f035751c7056
CRs-Fixed: 3289987
2022-09-21 21:38:08 -07:00