Per the Linux Kernel coding style, as enforced by the kernel
checkpatch script, pointers should not be explicitly compared to
NULL. Therefore within p2p replace any such comparisons with logical
operations performed on the pointer itself.
Change-Id: I3f987cc2603bd3e4d41881db8c847046884d7e76
CRs-Fixed: 2418399
Per the Linux Kernel coding style, as enforced by the kernel
checkpatch script, pointers should not be explicitly compared to
NULL. Therefore within cds replace any such comparisons with logical
operations performed on the pointer itself.
Change-Id: Ib542e8e26c16dd0d6afccb0fd94bca75a89b21e1
CRs-Fixed: 2418395
Per the Linux Kernel coding style, as enforced by the kernel
checkpatch script, pointers should not be explicitly compared to
NULL. Therefore within bmi replace any such comparisons with logical
operations performed on the pointer itself.
Change-Id: I85578cf7e40e7d6c81246b423d5b626a9570c8b4
CRs-Fixed: 2418396
To avoid using qcacld code in cmn, when getting
wlan op mode, using op mode info from vdev rather
adapter.
Change-Id: If8432aae12800884e3a4567d99319afcdfa9d1f5
CRs-Fixed: 2412315
While processing vendor command acs_chan_config,
in hdd_parse_vendor_acs_chan_config() memory allocated for channel_list
is not de-allocated in error scenario. This leads to memory leak.
To address this, while returning error, free channel_list in
hdd_parse_vendor_acs_chan_config().
Change-Id: Icdd264cfaa2e4266c22bc87c234e4a21122618b6
CRs-Fixed: 2410875
While processing vendor command EXTERNAL_ACS,
in hdd_parse_vendor_acs_chan_config() total number of channels is
computed by parsing nested attribute ACS_CHANNEL_LIST.
Initially computed number of channels is stored in int data type and
later copied to u8 data type, this shall truncate if number of channels
is greater than 255.
Memory for channel list is allocated using truncated value but later
the same list is accessed using computed value which shall result in
buffer overflow.
To address this, validate computed value against MAX_CHANNELS.
Change-Id: Idbbf3b44fd238f7cff53bedd68f2c7627ecdfa9d
CRs-Fixed: 2410869
The Linux Coding Style frowns upon mixed-case names and so-called
Hungarian notation, so rename HDD identifier pMfpRequired to be
compliant.
Change-Id: I745e5773ce387744120081c8fa275e9255639152
CRs-Fixed: 2418184
lim_is_system_in_scan_state was used when scan was handled by host
and with scan offloaded the API always return false and thus is
of no use. Also the SCAN state used by it are never set.
Thus remove the unused scan state and lim_is_system_in_scan_state.
Change-Id: Ie9b78340035d85805cc9416f557b683a0a3be232
CRs-Fixed: 2417851
Currently, there are some attributes that dont have any NLA policy
specified. The absence of policy results the attribute to default to
NLA_UNSPEC. When handling this case in validate_nla() there is no
minimum length guarantee, meaning that the attribute can have zero
length. This will result in a one byte overread when calling
nla_get_u8().
To avoid this potential security vulnerability, add policy entry for the
attribute.
Change-Id: I19e5a032ccb2083d5f204be6ff7ac2f53aebf130
CRs-Fixed: 2408072
While processing cfg80211 callback testmode_cmd(), size of vendor
attribute TM_ATTR_DATA is not validated against the maximum length
but type casted to the internally defined structure pmo_lphb_req.
This can lead to out of bounds access if the size of attr is less than
size of pmo_lphb_req.
To address this, validate size of TM_ATTR_DATA.
Change-Id: I83b18d0935ebc6139644c02a9e51ef25a12b9176
CRs-Fixed: 2411653
For FILS based authentication, KCK is not derived. Hence
when GTK Offload feature is enabled, supplicant will not
pass it to driver with gtk rekey data. Putting a check
to validate KCK before copying it to the gtk_req structure.
Change-Id: I7089011b4d3fdc4e4785adbe10de651a1b59a121
CRs-Fixed: 2414445
With new scan module there is no need for LIM to send msg
eWNI_SME_CSA_OFFLOAD_EVENT to CSR to flush scan cache.
Lim can call the scan flush API directly.
Change-Id: I30390a7a6407ab24089b735f55ded1aa354fc17e
CRs-Fixed: 2417852
Currently, the scan is rejected if roaming in progress on STA or
if a client of SAP is in the middle of WPS/EAPOL exchange. And
it uses last_scan_reject_timestamp and reset scan_reject_cnt to
avoid scan stuck issue. last_scan_reject_timestamp and
scan_reject_cnt reset when the next scan issues successfully.
If:
1\ Scan happens and roaming is in progress on STA or client of SAP is
in the middle of the WPS/EAPOL exchange. Initialized
last_scan_reject_timestamp and reset scan_reject_cnt;
2\ Maybe no scan happens for a long time;
3\ scan happens but unfortunately, a connection is in progress again.
Then false alarm may happen because the time has already expired and
scan_reject_cnt >= 15.
Reset scan reject params after successful set key and successful roam.
Change-Id: I1197e66483e3bc8da38d6bcbc8b8c32b193ef6c9
CRs-Fixed: 2418658
1) Refine the documentation text of 4 ini items:
gStaKeepAlivePeriod
gApKeepAlivePeriod
gChannelBondingMode5GHz
gChannelBondingMode24GHz
2) Fix a discrepancy which happens when ini cfg values
are converted from those defined in enum
eIniChanBondState to the corresponding values in
enum ePhyChanBondState.
3) Use the related APIs to setup channel bonding modes
instead of directly assigning values.
4) Remove the redundant inclusion of the following two
header files in csr_api_roam.c:
cfg_ucfg_api.h
wlan_mlme_api.h
Change-Id: I43c1e5a05bbb34952a5c7bdbde734f4014592c12
CRs-Fixed: 2416991
Per the Linux Kernel coding style, as enforced by the kernel
checkpatch script, pointers should not be explicitly compared to
NULL. Therefore within pmo replace any such comparisons with logical
operations performed on the pointer itself.
Change-Id: I3697ede27e074252017e31be23caa93fc25885c5
CRs-Fixed: 2418398
STA vdev is moved to UP state in wma_add_sta_req_sta_mode but
if deauth is received from AP during that time the connection
is set to failure in lim_process_sta_mlm_add_sta_rsp and driver
send EV_CONNECTION_FAIL in UP state which is not handled.
To fix this move the STA to UP state only if
lim_handle_sme_join_result receive the add sta rsp success.
Change-Id: Icb0685e52881563e17785c98e9e225796a864be1
CRs-Fixed: 2415194
Disable QCA_LL_TX_FLOW_CONTROL_V2 for QCS405, for SCC imbalance issue:
when there is a vdev running TCP RX traffic, another vdev is running
UDP/TCP TX, the UDP TX vdev will be paused/unpaused frequently and
interfered by the TCP RX vdev, which is sending few TCP ack frames and
it's never get paused, successfully sending TCP ack will trigger more
TCP data packets from peer which compete with the UDP TX vdev for channel
access. When disable QCA_LL_TX_FLOW_CONTROL_V2, no vdev could send
packets to firmware when the tx_desc is in shortage, which makes the
throughput between vdevs more balance.
Change-Id: I2c4a36dae9a81905e6b92a80db9703a7342742c8
CRs-Fixed: 2376550
The Linux Coding Style frowns upon mixed-case names and so-called
Hungarian notation, so rename HDD identifier pLinkSpeed to be
compliant.
Change-Id: I04db9da2cba615d9a216a9eab40d1a07c73c33fb
CRs-Fixed: 2417587
The Linux Coding Style frowns upon mixed-case names so rename HDD
identifier p2pNoA to be compliant.
Change-Id: Ia43f9794d94c37457c13fee5aafc7a7bd14de48f
CRs-Fixed: 2417586
The Linux Coding Style frowns upon mixed-case names so rename HDD
identifier updateIE to be compliant.
Change-Id: Id63bc75edf91d364de53eccc021917d597da400f
CRs-Fixed: 2417585
The Linux Coding Style frowns upon mixed-case names so rename HDD
identifier macAddr to be compliant.
Change-Id: I73573fced510fe2e4d6a30deacd2d3cef0187ee1
CRs-Fixed: 2417584
The Linux Coding Style frowns upon mixed-case names so rename HDD
identifier macAddress to be compliant.
Change-Id: Idc9e4bf34a29859a66ff559fdbe4f2d1c18d6d98
CRs-Fixed: 2417583
The Linux Coding Style frowns upon mixed-case names so rename HDD
identifier pmacAddress to be compliant.
Change-Id: I12040f02b81ae3430a31bb3ee0e1305300f0017b
CRs-Fixed: 2417582
The Linux Coding Style frowns upon mixed-case names so rename HDD
identifier customMacAddr to be compliant.
Change-Id: I374e45b5b2a0feb570e071ca54f13a97638628ae
CRs-Fixed: 2417581
The Linux Coding Style frowns upon mixed-case names so rename HDD
identifier wifiBand to be compliant.
Change-Id: I686a6b1353462605381fdde206bd086fae16b140
CRs-Fixed: 2417580
The Linux Coding Style frowns upon mixed-case names so rename HDD
identifier assocReqlen to be compliant.
Change-Id: I941abbf4b90ea4a5cf167739d8f6905957b88da5
CRs-Fixed: 2417579
Coex priority on some scenarios need to be updated.
Host will transfer the chosen coex config attributes
by WMI command.
Change-Id: Ic28ad6af462b305ec9aaf3027d76bce9ae6320b1
CRs-Fixed: 2410493
Extract and populate peer stats in HDD and then send the stats to the
userspace via station_info in get_station command
Change-Id: Ia0077aadd33095210b1022a8e5a4ba77e9a9b739
CRs-Fixed: 2397649
qcacld-2.0 to qcacld-3.0 propagation
There's race condition between kickout event and disconnect command. It
cause disconnect_comp_var is not completed properly. Add check in
lim_tear_down_link_with_ap to eliminate the race condition.
Change-Id: Iebe98911cc41e8b33f8f403b75c79a75a38ca0a6
CRs-Fixed: 2417753