The extended cap IE from the hostapd is of variable
length, but it is always type casted to a fixed length
of 11 octets. This leads to OOB access of memory and
incorrect data gets read. In this case, beacon protection
is not enabled in the ext cap IE, but due to OOB access
beacon protection is read as 1.
Fix the OOB access by typecasting the IE to the length of
the IE.
Change-Id: Id9a54e3467fa9f7a49687da41411a421fd9c9d37
CRs-Fixed: 3178294
Add support to dump the full management,eapol,
dhcp, arp frames based on the level of the
debug_packet_log configured through ini gEnableDebugLog.
The dump levels are as follows:
* 0x1 - Enable mgmt pkt logs (except probe req/rsp, beacons).
* 0x2 - Enable EAPOL pkt logs.
* 0x4 - Enable DHCP pkt logs.
* 0x8 - Enable mgmt action frames logs.
* 0x10 - Enable ARP pkt logs.
* 0x0 - Disable all the above connection related logs.
Change-Id: If572cccb327da785dd0d56cff6d37ba170b15cc8
CRs-Fixed: 3173604
On Wear HL based target with keystone kernel, it generates
WLAN driver with name "qca_cld3_wlan.ko" based on macro
definition WLAN_WEAR_CHIPSET. But the driver was not loading
because of the old INI path and /dev path.
This commit modifies the INI path and /dev path based on
macro defined i.e. WLAN_WEAR_CHIPSET.
Change-Id: I6d457a3bb708de3175c40b0f2b3ba0ebde915838
CRs-Fixed: 3168115
As dynamic allocation occupy cnss prealloc memory, which may
cause this prealloc pool to be exhausted.
Move dynamic memory to static.
Change-Id: Ib05c044f8c0c805148d832f54c09915ef9b4c98b
CRs-Fixed: 3174282
Currently driver does not update NSS in legacy rate info case.
This results in incorrect NSS info in big data stats.
To address above issue, update nss in all the cases.
Change-Id: I40ddd8b22f8c4bf77fb4788e26fbd291b37d5830
CRs-Fixed: 3172829
In GO+SAP Case, SAP starts firstly, GO starts on same band
but different channel. SAP forces SCC check is done in
hdd_hostapd_sap_event_cb in the event handle of eSAP_START_BSS_EVENT.
But at the time the GO's connection entry is not added to
policy mgr list. It is added after WLAN_IF_MGR_EV_AP_START_BSS_COMPLETE
is received by SAP interface manager. SAP can't find the same
band GO's channel at this time.
Fix by move the SAP forces SCC check in SAP interface manager
after WLAN_IF_MGR_EV_AP_START_BSS_COMPLETE event is received.
Change-Id: I54663bdd887e3d591d7fd9ee7ce76572b1ef21f7
CRs-Fixed: 3176076
TWT is not disabled for certain APs. Add OUIs of the
APs to configuration file.
Change-Id: I3bb2238550294b443f166920069a14fb81e6873d
CRs-Fixed: 3176212
Currently driver does not check for adapter mode when it receives
set mon chan command, which leads to unexpected behavior when it
receives set mon chan command for non monitor mode adapters.
To address above issue, add a check in driver to avoid set mon
chan command for non monitor mode adapters.
Change-Id: I04f4a0c76823beb10ebfae6489f894ba8a302627
CRs-Fixed: 3175969
Add PM_SCC_ON_5_CH_5G pcl type to give priority
to SCC 5G followed by rest 5G channels for next
connection.
Change-Id: Ibff48dcd145368d967fb9f39c0118f94897a72a4
CRs-Fixed: 3170031
Get stats NDO can be called from user space or CLI in a loop
and this can over flow useful driver log buffer and hence remove
dev enter log from get stats ndo callback.
Change-Id: I99a4431f810dbb738ba94b31df488a9c5b24da86
CRs-Fixed: 3176830
Currently driver initializes start completion on recovery shutdown
which leads to an issue where userspace thread does not wait when
it writes state ctrl params with below event sequence because of
which wifi on fails.
On fw down driver sets recovery in progress, on shutdown it resets
wlan_start_complete and on reinit, it sets wlan_start_complete.
Now if driver again receives fw down it sets recovery in progress and
when userspace tries to write state ctrl param this thread does not
wait here as wlan_start_comp was set in previous SSR sequence.
If driver does not block this thread, userspace tries to iface up
which fails because SSR is still in progress.
To address above issue, init start completion in fw down instead of
recovery shutdown so that driver can block the state ctrl param thread
until SSR completes, when it tries to set the params.
Change-Id: I3fe3768b1ec431620b37055d783de0201371e774
CRs-Fixed: 3176181
Currently, for Thermal Throttle service, Multi-Client feature is enabled
for QCA6750 only but now it is enabled for all the targets.
Change-Id: I0afd48c481193d02c473bc7daa2226c9225968ed
CRs-Fixed: 3174679
Previously elna_bypass is of type bool, which check for
elna_bypass enabled or disabled with en_dis
Change en_dis to elna_mode of enum extlna_mode
to support extra mode of firmware_default
Change-Id: I12dfe3a07e04b102562b11c8235d56bd3e2a7059
CRs-Fixed: 3169266
Extend support for LL STATS in SAP mode.
Need get tx/rx rate/mpdu/radio stats for SAP mode too.
Change-Id: Ib304e69b2779c90ac3087bf0cde1b200d1edc00b
CRs-Fixed: 3173865
Currently for big data stats, driver gives rssi from get
station command. As get station command comes every 3 seconds
from user space, this rssi can be 3 seconds old rssi value.
When station gets lost link info as part of bmiss indication
or as part of disconnect from AP,it receives rssi info as well.
Since this is the latest rssi info before disconnection, driver
needs to give this latest rssi instead of the rssi from get
station command.
To address above issue, update rssi in big data stats cache
information from lost link information.
Change-Id: Ifc81541c3ef67bbeb86b4775bbc8f295971777c8
CRs-Fixed: 3166948
Currently driver does not have the interface info
in the stop ap and restart ap
Add netdev interface and event flag info
in __wlan_hdd_cfg80211_stop_ap and hdd_ssr_restart_sap
Change-Id: Ibb915f597923f864fbbda1bc92255df968bee815
CRs-Fixed: 3154052
To use skb_orphan instead of skb_unshare, this is
aimed to prevent addition skb_alloc possible failures
in TX path, then avoid of unnecessary packet drop when
memory runs low.
Change-Id: Ic8dfdb09c73a1071678612430fff2f23180ad336
CRs-Fixed: 3162137
Enable IPA only if it is enabled in both platform driver
and ini file.
Clear g_ipa_pld_enable if disabled from pld.
Change-Id: I1bd4e03eadf420f736bb91478b0f2e04bcd60ebd
CRs-Fixed: 3148820
Add a new field max_mcs_index in mlme_legacy_priv to save max mcs
index of current vdev.
Add a new field max_real_mcs_idx in hdd_station_info to save max
mcs index of the connected station.
Change-Id: I28908515cbe5c18c79f14f8645defd5c82e3a6f0
CRs-Fixed: 3065838
Currently hdd_cm_is_vdev_associated() and cdp_peer_state_get() per
packet check consumed much CPU on TX path, they will hold spin
lock which will introduce contention between different TX streams.
solution:
(1) check is_authenticated in sta_ctx->conn_info, if true,
then connection has been established already.
(2) clear is_authenticated flag if disconnection happened for
STA and P2P client.
Change-Id: I208608eba7bab69c8795e25495424327b7f2331f
CRs-Fixed: 3165165
When obtaining twt session traffic statistics,
some allocated memory not freed for failure case.
Fix it to avoid memory leak.
Change-Id: I18ce45467c3600c3f62b23ab50582ecb40ced88d
CRs-Fixed: 3169747
Currently driver code has data type as char* for NAN related code.
With this change update this data type as const char*.
Also, move NAN related functions under WLAN_FEATURE_NAN feature flag.
Change-ID: I61ad10304be4399a68f32778d01d9a951d7d14bb
CRs-Fixed: 3169168
Currently host driver creates/deletes NDI interfaces using
vendor command. With the kernel 5.12 version onwards,
interface creation/deletion is not allowed using vendor
commands as it leads to deadlock when driver tries to acquire
the RTNL_LOCK at the time of netdev register/unregister.
With this change, add support to Create and delete NDI interface
using NL80211_CMD_NEW_INTERFACE and NL80211_CMD_DEL_INTERFACE
commands respectively if driver advertises
QCA_WLAN_VENDOR_FEATURE_USE_ADD_DEL_VIRTUAL_INTF_FOR_NDI capability.
Since NL80211_CMD_NEW_INTERFACE and NL80211_CMD_DEL_INTERFACE
already comes with the rtnl lock and driver does not need to
take the rtnl lock again which will help to avoid the above issue.
Change-Id: I6d5441a5e883de1222f105f26d73cb0506d16ddf
CRs-Fixed: 3167125
Call cfg80211_register_netdevice in ndi mode for Kernel 5.15+ in order
to properly register device.
Change-Id: I3441a2ae39f07ab2e80c47cdadfa489cc1d64e00
CRs-Fixed: 3155379
Add handling for below pcl types which are added
due to ML STA and 2 P2P connection concurrencies.
PM_SCC_ON_5_5G_24G
PM_SCC_ON_5_5G_SCC_ON_24G
PM_SBS_CH_2G
Change-Id: I62df80c15bcd84ba9cb64cbf6ce2e4d154f6f697
CRs-Fixed: 3167325
Optimize logging by decreasing number of log
lines printed for the Tx frame path.
Change-Id: Iff24346a6b20286b68ee18451155495f624da316
CRs-Fixed: 3168409
Register os if callback to get MCC quota event
indication and send to upper layer by vendor event.
Change-Id: I232343210343091fc18e4c6ef2c3a8844fddf2c5
CRs-Fixed: 3101876
Connectivity management frame logs are sent for SAP mode also but
should be sent for STA mode only.
Send connectivity/roaming logs only for station mode.
Change-Id: Ib9ae7824f7eca61fdce4c2c163a24554e7b2eb36
CRs-Fixed: 3165658
Remove the old SAP-CSR flow for start bss, stop bss and
channel change req processing which is disabled currently
under the SAP_CP_CLEANUP macro.
Cleanup the redundant checks in the deauth, disassoc
response processing in CSR.
Change-Id: I5a360fc267688b51ca645551108b65646a3c8c1a
CRs-Fixed: 3164259
11BE SAP is allowned to start even some channels in the channel bandwidth
are disabled.
Change-Id: I0f6df9a8b06af952f4433ca5f89bba83fcf2ecb2
CRs-Fixed: 3159169
For Kernel 5.15+, the ifr_data variable will no longer be included
in the ifreq struct and would need to be passed as a separate argument.
Thus, create a new ndo callback function ndo_siocdevprivate() that is
used for Kernel 5.15+.
Change-Id: Iccb5b5f5edd650b4a604e15b787d3b927eabc6b5
CRs-Fixed: 3157820
Currently, host supports max 2 AKMs based on
NL80211_MAX_NR_AKM_SUITES.
Add support for max 5 number of AKMs in connect req.
Change-Id: I65d54cc0c09d07ae1ac4b8669a64543d332b75e6
CRs-Fixed: 3151414
Remove the usage of redundant legacy structures in CSR/SAP
modules and simplify the channel change request flow from
the SAP module to LIM.
Similarly change the channel change flow for monitor mode.
Change-Id: Ib91f65307d456919f68892f45f3aa9b4fed0f0d3
CRs-Fixed: 3148761
Remove redundant structures and operations in SME/CSR.
Currently, start bss request is prepared in CSR module using
csr_roam_profile, which is built from sap context.
To remove redundencies, prepare the start bss request in SAP
module and serialize the start bss request.
Change-Id: Icd468fe2a48d5324c1485d83b05e27400c9dbd9a
CRs-Fixed: 3142912
Create sysfs entry to enable or disable capture of
datapath tx delay stats per vdev in p2p-go mode.
Change-Id: I40ac17f50d78df4ce3bffba5c2719d337f58d8eb
CRs-Fixed: 2981002
Add new sysfs entry to enable or disable capture of
datapath tx delay stats per vdev.
Enable HW_TX_DELAY_STATS config flag for Lithium targets
to support capture of tx delay stats at runtime.
Change-Id: I838961daf27e08c4b6e693852c62f9f894f499a5
CRs-Fixed: 2981004
Generate a Level 2 update frame and send it to the bridge in SAP
mode when a new station connects.
It will update the forwarding table of all the bridge devices
through source port learning.
Change-Id: Ia804968453c051e4c8322d3735506a912c0d963d
CRs-Fixed: 2997409
Enable source port learning for SAP to add AST entry for the
remote stations with next hop. The SAP should use 4-address
frame format for the remote destinations.
Add support to handle data packets for WDS destination.
Change-Id: I6002e6dd9c9bb2c7b2e4f85bf06156dbb7feebee
CRs-Fixed: 2997812
Save the user power-save configuration setting in NL power save
command handler, rather than wlan_hdd_set_powersave.
Change-Id: I02612c53617e2c53e86ef19f37d4aa4c8b9b10d1
CRs-Fixed: 3155954
Call the Wifi Pos API to advertise 11az security
related wiphy ext flags. Add Kbuild changes for new
file to advertise Wiphy Feature flag.
Change-Id: Id8c9c51770c3153c9c8a140f965249d1b0d1a844
CRs-Fixed: 3150582
Currently mac address is getting configured as the wow pattern
while the vdev is getting created, configure the mld address also
during the vdev creation so during legacy connection or roaming
between the ml-legacy vice versa there wont be packet drops because
of pattern mismatch.
Change-Id: I9b98649bca132a6665f2e4dd94d9c6b840223827
CRs-Fixed: 3124115
For kernel 5.17 onwards, sa query offload bit
should be set which signifies that sa query is
offloaded to driver and userspace shall ignore
SA Query procedures and validations.
So, set SA query offload bit in ap_sme capability
flag.
Change-Id: Ie9911e6f122b63b76b5189973d302dec99050886
CRs-Fixed: 3146736