提交图

427 次代码提交

作者 SHA1 备注 提交日期
Guru Pratap Sharma
08131c79a1 qcacmn: Add Bandwidth Indication Element support
Adding Bandwidth Indication Element Sub IE structure and other support

Change-Id: Iae761582e8c5d2b12af231e58c6dcbb23421e9dd
CRs-Fixed: 3444254
2023-04-06 18:13:29 -07:00
Vinod Kumar Myadam
b7987d7b29 qcacmn: Fix OOB in util_gen_new_ie
For example, If tmp_new[1] = 3, subie_len=160,
tmp_new + tmp_new[1] + MIN_IE_LEN) - sub_copy will be 159.
In this scenario, while condition gets true (159 <= 160)
In if condition (159 >= 160), we are not breaking the loop in if.
tmp_new will get incremented, tmp_new will point at 159,
tmp_new[1] will point at 160, tmp_new[2] point at 161.
So, we are accessing one byte out-of-bound value.

To fix accessing out-of-bound value subtract one from the subie_len
in while and if condition to avoid this scenario.

Change-Id: I624585323963b6d79acf9ff0f96ec17e0b415c2d
CRs-Fixed: 3358833
2023-03-17 07:20:18 -07:00
Aravind Kishore Sukla
c60807a9c9 qcacmn: Remove ie len check for SON_IE_LEN
SON IE length check drops some of the AP beacon or probe
response due to length mismatch.

As length may increase for some of APs. Remove check for
ie len of WLAN_VENDOR_SON_IE_LEN

Change-Id: I74add7ea539913f67bf7d11e2ff8e4b0374eba05
CRs-Fixed: 3418249
2023-03-16 07:44:43 -07:00
Paul Zhang
f453c827cb qcacmn: handle MBSSID IE for critical update
With the MBSSID IE, it has to generate the corresponding
beacon and probe response frames. Then handle the generated
frames per critical update feature.

Change-Id: Iff3fdb3a335a98d9ed7e51957885e2f161069807
CRs-Fixed: 3376521
2023-03-08 21:10:24 -08:00
Sheenam Monga
a1a81cce96 qcacmn: Don't Scan same mac frequencies, if low latency SAP present
Currently, Scan list is trimmed based on low latency sap frequency.
But even after removal of 6 GHz frequencies from scan list,
host receives scan events for 6 GHz frequencies because rnr info
is updated and hint bssids and hint ssids are added due to which
FW scans 6 GHz frequencies also.

Fix is to update hint_bssid and hint_s_ssid to those frequencies
only which are allowed to be scanned in case low latency sap is up.

Change-Id: I7f9bc6b6262a235d5aa02c9155555b4827227acf
CRs-Fixed: 3379401
2023-03-01 00:54:16 -08:00
Jeff Johnson
3a13457906 qcacmn: Fix umac/scan documentation
The kernel-doc script identified some documentation errors in the
umac/scan folder, so fix them.

In addition, Change-Id I8340c6c654cf03f63aee9ed622e3db38056d714f
("qcacmn: Add API to access scan entry partner info") made an
incorrect copyright change, so fix that.

Change-Id: I629f5961ab0a284c70a47fc7d71fe81d5572ae25
CRs-Fixed: 3380633
2023-02-28 11:19:35 -08:00
Uraj Sasan
25ad461a3c qcacmn: Increase the macros for 4 LINK MLO case
In case of 4 LINK MLO we have link index as 0, 1, 2 and 3
so increase the MLD_MAX_LINKS to accommodate all links.

Also MAX RNR_BSS supported in 16vap 16 MLD across N links will
increase as:

For N(4 LINK) link MLO, Max RNR BSS will be given:
16(N_6G_LINKS) + N - (N_6G_LINKS) - 1(SELF_LINK) = 16*2 + N-2-1 = 33

Change-Id: If2e1755b8b99e83d8fe391220183921a70be61f5
CRs-Fixed: 3408516
2023-02-24 15:51:51 -08:00
Sheenam Monga
7453254a0c qcacmn: Add support to get min and max bw of chan enum
Add support to get min and max band width of provided
channel enum, so that configured bandwidth can be validated
whether it lies in the range of bandwidth or not.

Change-Id: I765b4e8013d021eaca41b37789d1ef3f1d57fa7d
CRs-Fixed: 3402928
2023-02-16 11:11:01 -08:00
Sheenam Monga
94461d8894 qcacmn: Consider last scan full scan results instead of new scan
Currently, if ACS_LAST_SCAN_AGEOUT_TIME is not provided by user then
the last_scan_ageout_time is updated to 0 and full scan is triggered
to find channel instead of using previous scan results, to avoid delay
use last full scan result based on ini "last_scan_ageout_time" value.

Change-Id: Ic38f0d3c83087dafde54b43762dd14deb7d02870
CRs-Fixed: 3404550
2023-02-16 11:10:51 -08:00
Vijay Raj
6effc63bb2 qcacmn: Remove api wlan_add_age_ie on scan result
In api wlan_add_age_ie(), age ie is included in scan
result.

Remove api wlan_add_age_ie() as the bss age is
calculated using NL80211_BSS_SEEN_MS_AGO.

Change-Id: Ided2364ce7a52d942d29343455fc7ae511be9a18
CRs-Fixed: 3391276
2023-02-16 04:17:35 -08:00
sandhu
89c50d8df3 qcacmn: Add API to access scan entry partner info
Add API to access scan entry partner info by bssid
and freq.

Change-Id: I8340c6c654cf03f63aee9ed622e3db38056d714f
CRs-Fixed: 3376315
2023-02-13 12:45:24 -08:00
Pooja T C
324b10dec5 qcacmn: Changed debug traces severity level
Changed scm_err_rl to scm_debug_rl to stop the prints from flooding.

Change-Id: Ida541ac96bf656fc68d0a6fd7cca302d2071585b
CRs-Fixed: 3347726
2023-01-17 21:05:09 -08:00
Himanshu Batra
b23b9551cc qcacmn: Changes to handle dynamic link add for non-AP MLD
Changes to handle dynamic link add for non-AP MLD.
Also add change to clear mlo cap for link removal of vdev.

Change-Id: I47e0bb77b7f32296e5745ffd53ce3a34ec35a63a
CRs-Fixed: 3346538
2022-12-27 11:09:04 -08:00
Deeksha Gupta
de6b627426 qcacmn: Add support to parse reconfig ML IE
Add support to parse Reconifg ML IE and fill ml info in the scan
cache entry.

Change-Id: Ieb7ba1731d82474fbead1d6edbe1584fbdb42e0d
CRs-Fixed: 3347362
2022-12-27 11:08:35 -08:00
Jianmin Zhu
2b43c860f6 qcacmn: Validate AP ML IE length before parse it
One bad AP Multi-Link IE length is 5, have no MLD addr, BSS peer MLD
addr is set as zero, connect fails, and bss peer leak happens.
DUT STA can't connect other AP any more if bss peer leak happen 2 times.
At last, if wifi is disabled, vdev delete fails for ref count leak, assert
happens.

To fix it, validate AP ML IE length before parse it, if it's actual length
is less than expected length, set ML IE as NULL, downgrade the AP to legacy
mode.

Change-Id: I7d6b27f0816f3169c8802f67b64e5561ffdde6ed
CRs-Fixed: 3351189
2022-12-09 15:50:51 -08:00
Amruta Kulkarni
52bd685515 qcacmn: TID to Link IE scan db changes
Change done to parse TID to Link IE in scan database.

Change-Id: I391c2f9939b43fd6bb21cd713e323ddb04e4bb79
CRs-Fixed: 3344664
2022-12-07 02:24:30 -08:00
Srinivas Dasari
8b311c3358 qcacmn: Fetch bcn/probe rsp with given mac addr from scan db
Fetch beacon/probe response with given mac address from scan db.
The frame can be used to fill bss descriptor in case of MLO
roaming where scan entry is derived from ML probe response of
assoc link.

Change-Id: Ie20b36c6619dd0e44d04d3bd8767c7dd09b053d5
CRs-Fixed: 3342439
2022-11-25 08:18:23 -08:00
Deeksha Gupta
4ff65dc760 qcacmn: Parse 11be capable beacons if DUT is not 11be enabled
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
2022-11-22 15:50:55 -08:00
Liangwei Dong
e3496e0420 qcacmn: Do not process MLO ie if no EHT ie
Some AP/GO includes MLO IE but no EHT IE, do not process
MLO IE if no EHT IE

Change-Id: Ia79fda0093f16acd0eff1f526c45e6cfd1d454dc
CRs-Fixed: 3323054
2022-11-18 17:25:44 -08:00
Vinod Kumar Pirla
f6a2b48634 qcacmn: Add per VDEV dot11 mode in VDEV MLME proto struct
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
2022-11-18 00:31:40 -08:00
Deeksha Gupta
433dee00be qcacmn: Rename multi_link into multi_link_bv
In struct ie_list, rename multi_link variable into
multi_link_bv.

Change-Id: Icfa26f20f9004c6e342add97a34505f45372c636
CRs-Fixed: 3313417
2022-10-31 04:09:16 -07:00
Paul Zhang
2158048410 qcacmn: add __packed for bit mapping structures
Currently, structure tbtt_information_header and
rnr_mld_info don't have attribute __packed. When
fetching the value of bss_param_change_cnt, it
tries to align with byte and causes wrong value.

And these are OTA structures which should be moved
to file wlan_cmn_ieee80211.h.

Change-Id: I326e62e6f513c2b43fe08c278aa4b5a245d2d35c
CRs-Fixed: 3313710
2022-10-27 17:49:38 -07:00
Priyadarshnee Srinivasan
71b1f90eb3 qcacmn: Reduce the debug level of scan err print
When the beacon frame is received by the DUT, util_scan_get_phymode_5g
gets invoked. In a highly noisy environment, malformed/incorrect
beacon frames is received and the content of vhtop->vht_op_chwidth
becomes invalid. Hence bad channel print floods the console since
it is under scm_err debug level (the default debug level of SCAN module
				 is ERROR).
Reduce the debug level of the print to scm_debug since it hits for
every in-correct beacon.

Change-Id: I92d99f8d69ac7f892f155f2043c60a4c0c2efa12
CRs-Fixed: 3313827
2022-10-21 03:22:46 -07:00
Jyoti Kumari
e3f7c3a8e9 qcacmn: Support Low Latency SAP and scan concurrency
Low latency SAP can come up on below two profile
a. Gaming
b. Lossless Audio

Scenario: LL SAP is present on 5 GHz channel and scan comes up

DBS: For both profile, allow scan only in 2.4 GHz channel
SBS: For both profile, allow scan on non low latency SAP
channel which are mutually exclusive.

Change-Id: I9d5832a457d08325b9e66099286ae3f18cdc66e1
CRs-Fixed: 3294607
2022-10-19 22:30:53 -07:00
Yu Wang
093c816d05 qcacmn: 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: Ifad0ccd76bd1184a9b1d20f3d7fa4455df924843
CRs-Fixed: 3291826
2022-10-18 11:57:53 -07:00
Jeff Johnson
60c5b8fe8b qcacmn: umac: scan: Fix misspellings
Fix misspellings in umac/scan/...

Change-Id: I77071740c837de6b317cf68a379fab98da65e65b
CRs-Fixed: 3304701
2022-10-10 23:02:40 -07:00
Adwait Nayak
b9962b51e8 qcacmn: Fix handler to fetch the eht support capability
Update the handler to fetch the status of the supports_11be
capability flag properly.

CRs-Fixed: 3305253
Change-Id: I35a083b7b717b0cf4fbe40e2e00b8bfd0ada9082
2022-10-06 03:52:42 -07:00
Adwait Nayak
7fdbe9bdc7 qcacmn: Strip MBSSID IE from the TX VAP only for 11BE platforms
While generating the scan entry for TX VAP, the decision to
strip MBSSID IE from the TX VAP beacon, will be taken if the
platform supports 11BE.

CRs-Fixed: 3300515
Change-Id: Ie45da7a02a2811172b2403d5fd1bc4b9271432d5
2022-10-01 03:38:36 -07:00
Adwait Nayak
038333d181 qcacmn: Strip out MBSSID IE while creating scan entry for TX VAP
While processing an beacon with MBSSID IE/ IEs, the driver
creates scan entries for the TX VAP/ profile and every Non-TX
profile present in the MBSSID IE.
The scan entry generation for nontx profile happens as required,
whereas while generating the scan entry for the TX VAP, driver
copies the MBSSID IE/IEs as well. Because of this, multiple
ML IEs would be part of one frame and as a result sometimes
supplicant fails in adapting/ fetching the proper ML IE.
With this change, the host driver takes care of stripping out
the MBSSID IE/IEs from the full beacon frame and while
generating the scan entry for TX VAP/ profile, it uses the data
that only belongs to the TX VAP.
This helps in resolving the duplicate ML IE issue.

Change-Id: I13b3ce94da1970eea8c16b52b1987edc1a5418bc
CRs-Fixed: 3295496
2022-10-01 03:38:30 -07:00
Jianmin Zhu
5551df9af9 qcacmn: Drop 6 GHz beacon out of BSS operating BW
Duplicated 6 GHz beacons with poor RSSI are received in frequency far away
from primary channel, they are not dropped because HE duplicate beacon
field is set, which makes poor RSSI saved in scan entry.

To fix it, if 6 GHz HE duplicate beacon field is set, compare band width
and center frequency from EHT ops and HE ops with current frequency beacon
received, if current frequency is outside of the BSS operating BW, drop the
leaked beacon.

Change-Id: I580df7efbbe5a7b56cfd14795474ad9a4d432fdc
CRs-Fixed: 3299236
2022-09-27 01:04:18 -07:00
Aditya Kodukula
7e71dbe627 qcacmn: Disable 11be functionality when not supported by fw
Disable 11be functionality when not supported by fw

Change-Id: Ifb90893e15c9bc74aac3aab75220a0d5c866dd59
CRs-Fixed: 3291962
2022-09-22 06:09:51 -07:00
Vinod Kumar Myadam
2afbe37a20 qcacmn: Fix for scan passive dwell time
Prensently for initial scan and roam passive scan dwell time,
the same ini CFG_PASSIVE_MAX_CHANNEL_TIME is used. This will
cause initial scan to have the roam passive scan value.

Decouple passive scan and roam passive scan ini parameter by
adding new ini param for roaming

Change-Id: I7bffb24a1e45548ed57492abc35e80958e9955ee
CRs-Fixed: 3272817
2022-08-24 04:11:10 -07:00
Venkateswara Swamy Bandaru
d43b4a9f17 qcacmn: Fix for 3 link mlo connection issue
Update CSA IE in per sta probe in already filled
partner link info.

Change-Id: I681813234f9dfbf0dc80009d2137765b6b5d3b62
CRs-Fixed: 3268027
2022-08-18 23:08:19 -07:00
Ashish Kumar Dhanotiya
99694b6f53 qcacmn: Add support to get feature set info
Based on the new requirement, add support to get requested
feature set info from different feature components.

Change-Id: I75c5a3062312b1124d21d1ae429a7c5a18d9f2d0
CRs-Fixed: 3262867
2022-08-12 18:55:42 -07:00
Surabhi Vishnoi
0283e89faf qcacmn: Store per channel scan time completion info
Add APIs to update and get the time at which scan
is completed in that channel.

Change-Id: I8c594b1881fc83daa88800eac9eac94c2e0df64a
CRs-Fixed: 3239359
2022-07-29 16:24:36 -07:00
Abhishek Singh
9738cd5a32 qcacmn: Print eht self and AP caps while calculating candidate scores
Print eht self and AP caps while calculating candidate scores.

Change-Id: I67db8781ee11c06ba5ec22608dcddace3f7c406b
CRs-Fixed: 3253959
2022-07-29 02:37:57 -07:00
Jianmin Zhu
a7a1ff47f1 qcacmn: Fix wrong score if channel width isn't 20N MHz
Some operating class like 81, channel spacing is 25, need convert
channel width to 20 to get right score when select candidate.

Fix some code style issues too.

Change-Id: I15795d016cae74b7596a199ae2883aeababaf081
CRs-Fixed: 3250207
2022-07-25 22:33:03 -07:00
Aakanksha Doda
6be39668f5 qcacmn: Change print level to avoid flooding of prints
Change print level from scm_err to scm_debug_rl to avoid
flooding of prints.

Change-Id: Iae82e8aa55b765860f994757fb035ddcb4342edf
CRs-Fixed: 3225542
2022-07-19 17:04:31 -07:00
Jianmin Zhu
f2a742540b qcacmn: Select best partner for MLO of 2+ links
Select best candidate by mlo score algorithm.

Check bss mlo type first by mlo info, mlo config, partner frequency and
dbs/sbs cap, calculate candidate score for SLO/MLMR/EMLSR bss types.

For SLO case, same as before except:
Decrease percent of legacy band and nss to include 320M and 8x8.
Decrease max percent of congestion from 100 to 80 to include MLMR joint
congestion.
Increase weight of both band width and nss to 20.

For EMLSR case, same as SLO except adding EMLSR boost score.

For MLMR case, besides adding MLMR boost score,
calculate joint RSSI/band width/congestion score for combination of
scan entry + each partner link by new mlo algorithm, select partner with
highest total joint score as candidate combination, only activate that
partner link.

Change-Id: I640c6825d945caf5fab504a77717195c2eac0c93
CRs-Fixed: 3234912
2022-07-18 11:55:27 -07:00
Aakanksha Doda
af7b3ad2cd qcacmn: Add QCN IE to the scan entry IEs list
Add QCN IE to the scan entry IEs list to support
240 MHz on 5 GHz radio.

Change-Id: I7fafae518baf6b8633729f65810fbba663744ec6
CRs-Fixed: 3230190
2022-06-30 10:54:33 -07:00
Deeksha Gupta
b52e67679a qcacmn: Update ML IE handling as per draft 2.0 new definitions
Update multi link IE definition as per 11BE draft 2.0 spec.

Change-Id: I120f1a99ef683f6bf0b9fb0ba3b5d157625639ca
CRs-Fixed: 3220212
2022-06-29 01:09:22 -07:00
Krishna Rao
4ce7d8f466 qcacmn: MLO D1.5 - Process BSS param change count presence in STA Info
As part of a transition of basic MLO functionality to IEEE802.11be
D1.5, add definitions and receive processing for the signaling of the
presence of BSS Parameters Change Count subfield in STA Info field in
Per-STA Profile subelement in Basic Multi-Link element Link Info
field. This presence is signaled by a new bit in the STA Control
field of the corresponding Per-STA Profile subelement. Rename the
definition for BSS Parameters Change Count (sub)field size to make it
generic since it may occur in various protocol signaling areas
related to MLO.

Change-Id: Ieb17f65547b7106442369b51cd6bc303046a224a
CRs-Fixed: 3197012
2022-06-13 10:51:39 -07:00
Deeksha Gupta
f666bb4d71 qcacmn: Update EHT op/caps as per draft 1.5
Update EHT Operation and Capabilities as per 11be draft 1.5
specification.

Change-Id: I6feb644c09db2c7f0578665733c29957be049408
CRs-Fixed: 3197384
2022-06-09 11:43:23 -07:00
Jianmin Zhu
3061409081 qcacmn: Add band bitmap filter for mlo ap candidate
Get mlo partner link freq from RNR IE.

Use band bitmap to filter mlo AP by band.
Force link on 2 GHz: mlo_support_link_band=1
Force link on 5 GHz: mlo_support_link_band=2
Force link on 6 GHz: mlo_support_link_band=4

Change-Id: Ib11dee117bef6121bbc455b62a2803138881a72a
CRs-Fixed: 3211974
2022-06-08 11:47:53 -07:00
Deeksha Gupta
45c39ea4b3 qcacmn: Update RNR IE as per D1.5
Update RNR IE as per 11be draft 1.5 specification.

Change-Id: I7b3e3d2017c2d7eedbba82d6591cdf93fd755b95
CRs-Fixed: 3210818
2022-06-06 04:26:48 -07:00
sandhu
b3da23a1a9 qcacmn: Remove forward declaration of util_scan_get_he_6g_params
Remove forward declaration of util_scan_get_he_6g_params. This
declaration is not required and is resulting in compilation
issues.

Change-Id: I43ac0839fa2a17d6e91811643d3ceb72c925e92f
CRs-Fixed: 3210127
2022-06-03 23:39:20 -07:00
Adwait Nayak
3ebb459d03 qcacmn: Add length check for newly generated frame
Add boundary check for the newly generated frame per subelement.
It should not go beyond the original beacon frame length.

Change-Id: I6de5519052a47119ec0a294941244c1b277233fc
CRs-Fixed: 3194793
2022-06-03 07:58:13 -07:00
Aditya Sathish
0d8615a6ff qcacmn: Update ML per-STA profile IE search offset
Start searching for IEs in the multi-link per-STA
profile from the STA Profile field instead of the
STA Control field to avoid invalid checks that may
arise due to other fields in-between.

CRs-Fixed: 3199541
Change-Id: I0a0f5b6c83135974820d2870e00f6dcf9eab61fe
2022-06-02 09:44:04 -07:00
Venkateswara Swamy Bandaru
3ff07fe59d qcacmn: Add 11be D1.5 support
Update EHT Operating IE as per 11be D1.5 draft.

Change-Id: I3c0e0af765f4a05729b505b83508cee2149ed2f2
CRs-Fixed: 3187001
2022-05-27 10:56:25 -07:00
Jyoti Kumari
02f2ffb93a qcacmn: Skip STA scan on 6Ghz or 5ghz indoor chan if SAP is up
Currently STA can scan and come up on 6Ghz or indoor channel if
hardware is non-dbs and SAP is present

As part of this change, do not allow STA to scan on 6Ghz or
5Ghz indoor channel for non-dbs hardware if SAP is present

Change-Id: I97759f8b2c6a1c460d90fbb797a0e64d2532797c
CRs-Fixed: 3186406
2022-05-18 05:21:06 -07:00