This change introduces the new roam set param WMI command to set
the roam params from host to FW.
Also added a fail_bssid param in wmi_roam_result TLV to know the
roam failed AP BSSID from the FW.
Added a new vendor command event for sending roam events stats
attributes to userspace.
Change-Id: I7a08635a7912cbd940d90a2d62433296740ad913
CRs-Fixed: 3050799
From 5.11 kernel, nla_strlcpy() is renamed to nla_strscpy() since
it works more like strscpy() than strlcpy() after the enhancement.
Hence handle it accordingly in WLAN driver by creating wrapper API
wlan_cfg80211_nla_strscpy().
Change-Id: I4c5ca1738048605c842c827d1706353bc012fed8
CRs-fixed: 3060060
Add support to send connectivity logs from g_wlan_logging thread.
Add new HOST_LOG_DRIVER_CONNECTIVITY_MSG event flag which wakes up
the gwlan_logging thread when set.
Also register connection manager callbacks to send the logging event.
Check if logging queue is empty whenever the gwlan_logging thread
is woken up and send the logs to userspace if the count doesn't
exceed the allowed threshold.
Change-Id: I3fdb8358f9048a277e2f03894c0e6a17376b0da0
CRs-Fixed: 3029279
User sets CFR data transport mode using vendor command
QCA_NL80211_VENDOR_SUBCMD_PEER_CFR_CAPTURE_CFG. By default
CFR data transport mode is relayfs, user uses vendor command
attr QCA_WLAN_VENDOR_ATTR_PEER_CFR_DATA_TRANSPORT_MODE to set
transport mode QCA_WLAN_VENDOR_CFR_DATA_RELAY_FS or
QCA_WLAN_VENDOR_CFR_DATA_NETLINK_EVENTS.
If user sets QCA_WLAN_VENDOR_ATTR_PEER_CFR_DATA_RECEIVER_PID
attr in QCA_NL80211_VENDOR_SUBCMD_PEER_CFR_CAPTURE_CFG vendor
command then hosts uses RECEIVER_PID to send unicast NL events
for CFR data.
Change-Id: I40e896fad8af24e761fcbedeba761f4a3815f0b8
CRs-Fixed: 2952095
Define VENDOR_NLA_POLICY_IPVXXX_ADDR for IPV4/IPV6 to address kernel
version dependency.
Change-Id: If73fe24dc29a65c043af6cf3d797a756a264f602
CRs-Fixed: 2851486
Define the following additional TWT operations:
QCA_WLAN_TWT_GET_STATS, QCA_WLAN_TWT_CLEAR_STATS,
QCA_WLAN_TWT_GET_CAPABILITIES, QCA_WLAN_TWT_SETUP_READY_NOTIFY.
Also define new attributes to qca_wlan_vendor_attr_twt_setup
and qca_wlan_vendor_attr_twt_nudge.
Change-Id: I687fd215c13aa12741d8ba7af23507f930d0ec81
CRs-Fixed: 2842072
Add new QCA vendor attributes to get thermal level from driver.
Driver will return thermal level upon userspace requests or sent
thermal event when firmware indicates theraml level changes.
Change-Id: I86b3ac34466d57cbd713cf72a7eb883677883a21
CRs-Fixed: 2786642
Introduce a vendor command for medium assessment through
QCA_NL80211_VENDOR_SUBCMD_MEDIUM_ASSESS.
Change-Id: Iacce974c862a9899de853be70858a47ae719b541
CRs-Fixed: 2766103
Add connection manager connect response handler in osif to
handle and send the connect response to kernel.
Change-Id: If675055cb2133e64b4b32a47271b12a59eac4a66
CRs-Fixed: 2765977
Strict NLA validation is introduced from kernel version 4.20 where
NLA_UNSPEC usage is restricted. A new attibute type
NLA_POLICY_ETH_ADDR is introduced for MAC address.
Define a macro to use this if the kernel version is greater
than 4.19.
Also define NLA_EXACT_LEN as NLA_UNSPEC for kernels less
than 4.20.
Change-Id: I9d9bee7a12d84ca81b5777ccb417a33f08949203
CRs-Fixed: 2701357
According to new changes in kernel 5.2 version onwards, kernel takes
care of validating the NLA policies as provided by the driver. In this
case there is no need to re-validate the same in the driver.
Add a stub to return true for NLA parse in case the kernel version is
greater than equal to 5.2
Change-Id: Iea1fdcac3000ede2f8b9398cb85443e545cdd3f0
CRs-Fixed: 2632534
According to new changes in kernel 5.2 version onwards, driver has to
provide the policy for each NL command to be verified against while
registering wiphy to the kernel.
To enable support for this, define a new macro VENDOR_NLA_POLICY_NESTED
taking care of the version compatibility.
Change-Id: I6aec53e94c57434f8e68b936ad5422248c3fa167
CRs-Fixed: 2632081
According to new changes in kernel 5.2 version onwards, driver has to
provide the policy for each NL command to be verified against while
registering wiphy to the kernel.
To enable support for this, define a new macro taking care of the version
compatibility.
Change-Id: I0bf7153d1889e5b31c07d6bf4c7a95f5e72dd93c
CRs-Fixed: 2632019
The current OSIF logging macros use a "cfg80211" prefix. This is
confusing because that prefix should only be used by the Linux
cfg80211 module. To avoid confusion rename the macros to use an
"osif" prefix.
Change-Id: Id3273498f623d04beec879aa9d77c1d33986357a
CRs-Fixed: 2469485
Add per module logging macros without function/line info
to avoid adding function/line info where it is not required.
Change-Id: I7621603b925e0762ef474c92e7b5cce641ceeefe
CRs-Fixed: 2468439
Map all module level log APIs to per-level log APIs
to compile out specific log level if required.
Change-Id: I4072b6740cb43200fd95c40943b66e1d5f8f1847
CRs-Fixed: 2266719
The Linux kernel version 4.12 introduced an API change to
nla_parse_nested(). Add conditional compilation to call
nla_parse_nested with the correct parameters based on the
version of the linux kernel being compiled against.
Change-Id: I878a29b352c998a751a979f66a9c3c4c7ecfd442
CRs-Fixed: 2167861
In order to support multiple nla_parse function signatures across
different kernel versions, a new wlan_cfg80211_nla_parse wrapper was
introduced. However, it is easy for propagations or new code to
reintroduce nla_parse. Redefine nla_parse to throw an error, to prevent
the function from being reintroduced into the code base.
Change-Id: I3015d1b3f25a1469632401899555a6260ba2dfc1
CRs-Fixed: 2116051
The Linux kernel version 4.12 introduced an API change to nla_parse().
Add conditional compilation to call nla_parse with the correct
parameters based on the version of the linux kernel being compiled
against.
Change-Id: Ie904d217a42a2396f8245251a9c90a15dac2c0c9
CRs-Fixed: 2093354
-Define OS private memory structure and provide pointer
to store the private data of each umac module's os specific data
-Initialize pdev's os private structure member 'wiphy'.
-Move vendor command definition to common project.
Change-Id: I2033bfbf0fe38e82c3a14942ac9f9bfda45e2c6c
CRs-Fixed: 2002991