To address kernel control flow integrity (CFI) issues related to
type mismatch, correct input argument type for ol_rx_data_cb().
Change-Id: Iafefe5dc3d946e3d67743de1a662aa3b0511cf5d
CRs-Fixed: 2407160
As part of DSC integration cleanup, remove SSR protection from
transitions where osif_sync trans start/stop protection is also in
place.
Change-Id: I0b4a9404697d130c8a1bfeb7d2c0d2977d825f5c
CRs-Fixed: 2411001
Change I5565ef2eb72b3746e05cb8e16662985392bcc802 ("qcacld-3.0: Remove
unused wlan_hdd_cfg80211_nan_*() stubs") removed the last reference to
typedef tSirNanEvent. Since this typedef is obsolete, remove it.
Change-Id: I7b7ef8f0bde00a77d95e3e1451e6138b01061bd7
CRs-Fixed: 2411194
Change I542e5afe832619f8c088220cc4456aa7fe4416fd ("qcacld-3.0: Route
the legacy NAN commands through NAN component") removed function
wlan_hdd_cfg80211_nan_callback(), but left behind the stub
implementation that was referenced when the NAN feature was not
enabled. This stub is unused, so remove it.
In addition functions wlan_hdd_cfg80211_nan_request() and
wlan_hdd_cfg80211_nan_ext_request() are only referenced when the NAN
feature is enabled, so the stub functions are also unnecessary, so
remove those as well.
Finally, wlan_hdd_cfg80211_nan_request() has two separate prototypes,
so remove one of the duplicates.
Change-Id: I5565ef2eb72b3746e05cb8e16662985392bcc802
CRs-Fixed: 2411169
Change I1b699d5fe5b3182c292cf10c85f842169bf14342 ("qcacld-3.0:
Refactor stats cfg items") removed the last of the legacy dynamic
config items. Since there are no items for the setConfig ioctl to
modify, the support is obsolete, so remove it.
Change-Id: I82e8a352a1c6af07f64951dca6ec5c712dbccef9
CRs-Fixed: 2411168
Change I870a1271a627d47242000f5e04068e628f567216 ("qcacld-3.0: Cleanup
usage of RA rate limit variables in WMA") removed all usage of field
is_ra_ratelimit_enabled in struct cds_config_info. Since this field is
now obsolete, remove it.
Change-Id: Iea020b56cb1927718bccb7bc77d314e40b9c73a6
CRs-Fixed: 2411167
If AP change its status from hidden to broadcasting SSID in its beacon
kernel drop the beacon entry as its confusing. Now during connection
driver try to update the entry in kernel and it fails and as kernel drop
the beacon the connection fails.
To fix this detect if AP changed its ssid type from hidden to
broadcasting and unlink the old bss from kernel in that case.
Change-Id: Ic7fc67aeb2b95e772ed12340f7ff84b1f2c233d9
CRs-Fixed: 2410209
The macro HDD_SESSION_ID_INVALID uses legacy nomenclature and
replicates the semantics of converged macro WLAN_UMAC_VDEV_ID_MAX,
so replace it.
Change-Id: I312b0599a31b530abe5c072a50673ac0198da877
CRs-Fixed: 2410833
The HDD context field last_scan_reject_session_id uses the legacy term
"session_id." To align with the current nomenclature change this to
"vdev_id."
Change-Id: Icb429e9a4e557c0edac8a1ba30339cd596209e68
CRs-Fixed: 2410832
Currently hdd_is_connection_in_progress() uses the legacy term
"session_id" for one of its parameters. In order to align with the
current terminology replace this with "vdev_id." And further to
provide additional information, add an "out_" prefix to both output
parameters.
Change-Id: I658e3adf0b4448f33f657d4cc839a4b6d180e31e
CRs-Fixed: 2410831
Log of level err will call printk to print on uart, may make
current thread sleep or delay > 10ms, then wma_roam_synch_event
need longer time to handle, LFR3 roam need longer time.
Change-Id: Ibdd58f74fcf5cf3de8e2b06166c375a2ce634cb5
CRs-Fixed: 2406307
If the curr_peer link status is tearing or connected,
activate peer cmd is rejected and the return status is sent
to supplcant as success even.
But return failure status to supplicant if the link is tearing.
Change-Id: Ia976fee03c77191a7e617a3e21e8c5ddf98759d0
CRs-Fixed: 2411146
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The tAniSirLimIbss typedef does not
meet any of those criteria, so replace it with a reference to the
underlying struct.
Further note the Linux Coding Style frowns upon mixed-case names and
so-called Hungarian notation, so in conjunction rename the struct and
underlying fields to be in compliance.
Change-Id: I92eeb5206e89e5682c928f8d4a5baabe77ea3d89
CRs-Fixed: 2410940
As part of DSC integration, replace cds_ssr_protect/unprotect with
appropriate osif_sync op start/stop calls in the miscellaneous
remaining callback handlers.
Change-Id: I0717bab8a9a45625f4bdc8ad97111581e6a66232
CRs-Fixed: 2410916
In wlan_hdd_merge_avoid_freqs() there is a test to determine if the
merged frequency list will exceed the size of the destination buffer,
and if so, the function returns an error. Unfortunately the method to
determine overflow actually modifies the information in the
destination list, and so if the error return occurs the destination
list will contain an incorrect, too large, destination list size.
Address this issue by determining if the list will overflow prior to
modifying the destination list size.
Change-Id: I9ede0bc24c676d6a9ef124d83c36ca9860b847f7
CRs-Fixed: 2410138
Unlike other connection types, vdev start parameters for NDI
do not reflect the correct connection information for the
datapath. Once an NDP is established on NDI this info in WMA
needs to be updated accordingly. Define a WMA callback and
use it after NDP confirm and NDP End to update the connection
info for NDI.
Use WMA callback for updating NDI connection info.
Change-Id: Iefb515a751bd3fb5e10610d191bdadaf3a01f59a
CRs-Fixed: 2407153
To support NAN Datapath concurrencies driver needs to be aware
of the primary NDP connection for each NDI. If the primary
NDP has ended, driver needs to update NDI with the second NDP
if it exists. For this purpose driver needs to track the NDP
connections for every peer associated with NDI. Store and
update the primary NDP connection info in peer object for
NDP confirm, NDP End & NDP schedule update.
Store and update NDP connection info in NAN's peer objects.
Change-Id: I7d2c8c513beceebf155596bfa73841a834d9a97a
CRs-Fixed: 2406402
Change Ifdc1fada55a559f3b3d0837ec20cceb653c45c40 ("qcacmn: Refine the
Link Layer Stats Unified API") is updating the Link Layer Stats
Unified API, so concurrently update the legacy driver to align with
these changes.
Change-Id: Ifd7c8de2358121dae4752525ff57021a32be85d3
CRs-Fixed: 2409294
If P2P-GO is active and SSR happens the vdev ref coount taken
by sap_ctx is not released and this lead to ref count leak.
To fix this release vdev ref count for sap_ctx in
hdd_reset_all_adapters().
Change-Id: Id35247a917f3e0c3e163ea00a7a850cdf28ddd80
CRs-Fixed: 2410121
sme_ese_send_beacon_req_scan_results sends number of bss description
present in beacon report through bcn_report->numBss. For each
iteration driver could send max 4 BSS. In case if driver has to send
beacon report for more than 4 BSS, It sends 4 BSS per iteration. Once
first four results are sent and bcn_report->numBss is not set to 0,
in next iteration bcn_report->numBss++ start from 4 instead of 0.
This Result in sending value more than 4 instead of 4 for next rest
BSS and leads to Integer overflow for bcn_report->numBss.
Driver should memset beacon_rep buffer for each iteration in order to
prevent Integer overflow of bcn_report->numBss. By this driver
could send fresh beacon report (independent of previous beacon report)
in each iteration.
Fix is to memset beacon_rep buffer to zero after sending beacon
report in each iteration in sme_ese_send_beacon_req_scan_results.
Change-Id: I0d07e54ec7f05e8eef388f9958fad597dc49873e
CRs-Fixed: 2408834
While handling userspace-directed re-association, driver
checks for flag "supplicant_disabled_roaming" before sending
roam invoke command after connection. Currently, the value of
supplicant_disabled_roaming is getting updated by value comes
through vendor command QCA_WLAN_VENDOR_ATTR_ROAMING_POLICY.
In case if roaming does not get enabled using vendor command
in __wlan_hdd_cfg80211_set_fast_roaming, driver rejects
fast re-association cmd. This leads to roaming failure.
Fix is to allow roam invoke command irrespective of flag
"supplicant_disabled_roaming" and send csr_roam_offload_scan
with reason REASON_SUPPLICANT_DISABLED_ROAMING instead of
REASON_DISCONNECTED while processing FASTREASSOC command.
Change-Id: Iee55fff8dd9445a2fb2b96a244f59a763f207dd5
CRs-Fixed: 2408861
Host driver code has several instances of struct bss_description
that is type defined to tSirBssDescription, *tpSirBssDescription
This goes against the linux coding style. This change replaces
tpSirBssDescription with struct bss_description *.
Also Linux Coding Style doesn't welcome mixed-case names. So
cleanup some mixed-case variable names as well.
This change should be followed by changes to replace
typedef tSirBssDescription also ultimately.
Change-Id: Ic6fa2d5c7db0d0c1fe4be1096d416295dcb83779
CRs-Fixed: 2409129
In the function lim_msg_str(), obsolete FIXME_GEN6 compilation macro
is still present and since this compile flag is not enabled,
this function always return "" which results in incorrect logs.
Fix is to remove this obsolete compile macro and also some of the
obsolete enums.
Change-Id: I1f147ff1e9f9c13683e38892007250f965b40407
CRs-Fixed: 2410145
Add support for vendor attribute which givies provision to
specify the ethernet protocol id from userspace to the packets
which are offloaded to the driver/firmware (e.g., IPv4, IPv6).
Change-Id: I543cbe63c6daa43427c7f207c42c667525dc6dcd
CRs-Fixed: 2398207
Send preferred channel list with weight value and a flag
to indicate how the channels should be used in P2P
negotiation process.
Change-Id: Ia48d4f935547c802e78dfdc418fe39031fa43ba5
CRs-Fixed: 2405331
In IBSS mode, it should copy ssid to member ssId of tSirMacSSid
instead of member length when set bcn/probe filter. Due to the
wrong copy, the peer IBSS bcn is filtered out, so the IBSS group
can not be established.
Change-Id: I9df11de06b0c5ef04a53ee6a25a4ef1547797980
CRs-Fixed: 2386777