If vdev is deleted FW can assert if host sends any vdev set param command.
Add vdev validity sanity check and reject vdev param set request after
vdev is deleted.
Change-Id: I65c303ef2e2a941cb2629f3fbc0862acf6e306d3
CRs-Fixed: 2079273
Add a configuration item, gPreventLinkDown, to disable putting the bus
link to sleep during suspend/resume.
Change-Id: Id52c6319cafaef60e6f4e562010615361eb831cd
CRs-Fixed: 2066718
preferred_rx_streams to reflect the NSS value with which association to the
AP happened in STA mode.
Change-Id: Ia2ecfb7ba055c3644410b0ff908812f0f94ba4c7
CRs-Fixed: 2077040
qcacld-2.0 to qcacld-3.0 propagation
FW has limitation to support old WMI_REQUEST_STATS_CMDID and
WMI_UPDATE_STATS_EVENTID interface on AP vDev. FW suggest to use new
WMI_REQUEST_PEER_STATS_INFO_CMDID and WMI_PEER_STATS_INFO_EVENTID to
get tx/rx rate.
This checkin is about LIM/SME/SAP layer, provide SME APIs/callbacks
to HDD layer to get SAP's peer station tx/rx related information,
fill these information from wma layer get-peer-stat-info APIs and
peer station's association request frame. It also fixed function
csr_send_assoc_ind_to_upper_layer_cnf_msg when copy information
between different structures and using offset style.
Change-Id: Icb1aaa126663af7eaedd1c4db86ca25c40ce6ee9
CRs-Fixed: 2051628
In roaming scenario, to avoid ping pong with bad AP’s around, fw
blacklist certain Ap’s based on timestamps and penalize certain
AP’s of the same channel so they won’t be selected and back and
forth roaming could be avoided. This change adds the following
INI parametres to configure the parametres of this fw feature.
1) groam_disallow_duration - Amount of time LCA[Last Connected AP]
will be disallowed before it can be a
roaming candidate again.
2) grssi_channel_penalization - RSSI to be penalized if
candidate(s) are found in the same
channel as disallowed AP's.
3) groam_num_disallowed_aps - number of AP's the target should
maintain in its LCA list.
Change-Id: I41cb36caf1b42caeb2bf77846bd0279eb43d2018
CRs-Fixed: 2054188
Currently addts and delts commands are removed as part of
csr_roam_sync_callback. After successful roaming add_tspec of
old connection is not processed in SME (entry of addts command is NULL
in smeCmdActiveList). As there is no active add tspec in SME,
VO data is downgraded to BE.
To fix above issue, do not remove addts/delts commands from SME queue and
in PE layer do the error handling for addts to send resp for all
failure cases.
Change-Id: Ibc7364d188c3002dd8067738f6bcc8fee2af2126
CRs-Fixed: 2076713
There is a possibility of OOB memory access within api
wlan_hdd_qcmbr_command.
To resolve this issue add appropriate buffer length check before
using the buffer.
Change-Id: I3bc0bb74e07fbf4b5c1f2163c9fb0b80d8839d0d
CRs-Fixed: 2075278
qcacld-2.0 to qcacld-3.0 propagation
New MAC counters are added to count MPDUs received and transferred
on each antenna.
Change-Id: Ia7fbf7642922f006882619848459192dcfca3c40
CRs-Fixed: 2043156
qcacld-2.0 to qcacld-3.0 propagation
In dphInitStaState function, it will implicitly assume that, the last
member of structure tDphHashNode is *next* pointer, which is fragile and
risky.
Save the *next* pointer in local variant and restore after whole
structure zeroed.
This will need additional CPU ticks but eliminate the risk.
CRs-Fixed: 2055505
Change-Id: I6baf3eddea965eda4e7f7ca88fef54709964febc
warning: implicit conversion from enumeration type 'enum
nl80211_band' to different enumeration type 'enum ieee80211_band'
[-Wenum-conversion]
Replace NL80211_BAND_2GHZ with HDD_NL80211_BAND_2GHZ and
NL80211_BAND_5GHZ with HDD_NL80211_BAND_5GHZ.
Change-Id: I15a905a599b87fc1a876c5f1b7bd6d69b2ba0f15
CRs-Fixed: 2055487
warning: implicit conversion from enumeration type 'enum
nl80211_band' to different enumeration type 'enum ieee80211_band'
[-Wenum-conversion]
Change-Id: I084e015626611ae90be00b11a599ae82f9bf6f60
CRs-Fixed: 2055487
qcacld-3.0/core/mac/src/pe/lim/lim_process_mlm_req_messages.c:487:10:
warning: implicit conversion from enumeration type 'enum eSirRetStatus'
to different enumeration type 'tSirResultCodes'
(aka 'enum eSirResultCodes') [-Wenum-conversion]
qcacld-3.0/core/mac/src/pe/lim/lim_process_mlm_rsp_messages.c:459:37:
warning: implicit conversion from enumeration type 'tLimSmeStates'
(aka 'enum eLimSmeStates') to different enumeration type 'tLimMlmStates'
(aka 'enum eLimMlmStates') [-Wenum-conversion].
Change-Id: I649618105b220d69c8b79dcae0983ae6d75746c0
CRs-Fixed: 2055487
warning: implicit conversion from enumeration type 'tLimSmeStates
(aka 'enum eLimSmeStates') to different enumeration type 'tLimMlmStates'
(aka 'enum eLimMlmStates') [-Wenum-conversion].
Change-Id: I659776ce18feaf1e566d6c9ff5cbd6d348016d65
CRs-Fixed: 2055487
These short name redefinitions should just be used in source file for
convenience, should not exist in qca_vendor.h where interfaces are
defined there.
To avoid checkin two way dependencies, add ifndef/define in source file
and first checkin qcacmn head file which remove these redefinitions,
then remove these ifndef/define from source file in another change.
Change-Id: I5318de88b569085f26212e960b79048e8a2481a8
CRs-Fixed: 2076521
In SAP and SSR case, it won't cleanup DFS CAC timer until up layer
kill hostapd. It will call wlansap close when hostapd exit. If
enable sap internal restart in this case, it will double init DFS CAC
timer, which cause abnormal in kernel. Solution is cleanup DFS CAC
timer when reset all adapters.
Change-Id: I96962349af548074e226976c8c01cd5a8710ed3f
CRs-fixed: 2075904
Avoid sending a RSO stop because of a disconnect when roam
sync is in progress. It is not needed to send a RSO stop
since the host would eventually trigger a disconnect and
send down an RSO stop anyways. Sending a RSO stop woould lead
to unnecessary complication where the firmware would send
a HO_FAIL and then this would be queued and the host disconnect
would be handled first and as part of processing the user
disconnect, a peer delete would be sent down to firmware,
which has already been cleaned up by the firmware earlier.
Change-Id: Ic89f97308c3d63977dda61fcadc450432fb16524
CRs-Fixed: 2052449
SAP operation mode is not updated to MAC global context once
user layer APP updates STA roaming policy. This will make
unsafe channel ignoring ineffective.
Change-Id: I5727e950e2097d55daf6745b4f443b89cc681dc8
CRs-Fixed: 2074237
wma_get_stats_req does not populate the requested statistics bitmask
before forwarding the request to WMI. Popluate the given statistics
bitmask into the WMI request in wma_get_stats_req, so firmware can
provide the desired statistics.
Change-Id: I6dbf7bf1fb2cf6b20bcd4f2fb91f9add5dd3d779
CRs-Fixed: 2075379
Mutex cannot be used when peer_unmap_timer_handler() calls
cds_trigger_recover() because it runs in soft_irq. Schedule work
to perform the recovery instead.
CRs-Fixed: 2060775
Change-Id: I9a9554ef0aa9288bf5abe22cd2513d8cc41c29d4
Driver should mask the sdio host controller interrupts in ssr
shutdown callback, or routine mmc_signal_sdio_irq is called
unexpectedly and causes crash.
Change-Id: I8551a7d809bf115d2df9735c8c7a30045f717cd1
CRs-Fixed: 2076658
Do RX packet aggregation for every 16th packet except the ICMP packets,
if the platform is not SMP platform. This change will contribute to improve
standalone SAP/STA RX TPUT when IPA uC offload is enabled by reducing
CPU utilization.
And this change is progagated from CLD2.0 driver with below commits:
bfaad0cb3b0f77d1940eb1d782bd8d125c557bbc
5d960eac83008cad60ff3e7abe1bbebb00b53cf6
c7d2405d7e8e4ba3a5eecbbaa177f4895036a4eb
Change-Id: I256e65ec2399b9b24eec4ccca7fdd662e326838f
CRs-Fixed: 2075793
Adds support for flow control on convergence branch.
We will have global pool and each vdev coming up will have the
descriptors allocated from global pool. Tx queue is paused and unpaused
internally in host based on the stop and start thresholds.
Changes are added under compilation flag QCA_LL_TX_FLOW_CONTROL_V2.
Change-Id: I0ccb80b0099f39efad52ccd7d47f2709fdee2a93
CRs-Fixed: 2040457
During roam sync indication if the addr3 of the beacon is 0, the
PE session is created with bssid 0. Now if disconnect is received
from AP or heartbeat failure happens, LIM is not able to find the
session from the BSSID and thus VDEV delete is not sent to firmware
but sme session is cleaned up.
If a new connect req is received from supplicant it tries to disconnect
the existing session, but as sme session is not connected, disconnect
is dropped and connect req is processed and thus VDEV start is sent
without VDEV stop leading to firmware crash.
To fix this, if the addr3 of the received beacon/probe in roam sync is
0, update it to BSSID from bssid provided by firmware in the sync
indication.
Change-Id: I9b7e7b6059fbd0e1bb9a59ce28acff469c2ed97b
CRs-Fixed: 2076012
qcacld-2.0 to qcacld-3.0 propagation
If scan is scheduled after long interval there is a chance that driver
is busy with same reason. i.e if scan is scheduled after 5 min there is
a chance that driver is busy in reassoc both time but this will give false
alarm that driver is stuck.
To reduce this condition include number of scan failures as well
along with time interval.
Change-Id: I6fdd0813541aa5d3d069fe8bf3934cfa47425550
CRs-Fixed: 2064605
Update lim_compute_crc32() to pass uint16_t as a length type.
Currently uint8_t is being passed as length and there will be type
mismatch when authentication frame to be encrypted will be larger
than 255 bytes.
Change-Id: Ic009197c13a2d70c9015a184acff2e82bf80eaba
CRs-Fixed: 2060959
Update SIR_MAC_AUTH_CHALLENGE_LENGTH to 253 as per IEEE spec.
Currently value of SIR_MAC_AUTH_CHALLENGE_LENGTH is set to 128.
This may result in potential buffer overflow since frame parser
allows challenge text of length upto 253 but driver can not handle
challenge text longer than 128 bytes.
Change-Id: I7baf860fdde51a14a6573b4f0f26817f5071193e
CRs-Fixed: 2060959