summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2019-03-27 15:28:17 -0700
committerLinux Build Service Account <lnxbuild@localhost>2019-03-27 15:28:17 -0700
commit8b7ebc655e9aba812a022342dd32371bdf1978e0 (patch)
treea233eb369d678f712044d4b04b75e7836d880ece /include
parent8d4a9db1aa0122f8b6d98feab7afa39985c0e909 (diff)
parente764712fd7f6db7921dc4b3dbbf772d613177633 (diff)
Merge e764712fd7f6db7921dc4b3dbbf772d613177633 on remote branch
Change-Id: I03b1216b62a2aa102ac28b3bd04d51663a2e928b
Diffstat (limited to 'include')
-rw-r--r--include/linux/qdsp6v2/apr.h12
-rw-r--r--include/net/cfg80211.h44
-rw-r--r--include/uapi/linux/nl80211.h6
3 files changed, 62 insertions, 0 deletions
diff --git a/include/linux/qdsp6v2/apr.h b/include/linux/qdsp6v2/apr.h
index 31c552b8da07..e7e2a53a70d7 100644
--- a/include/linux/qdsp6v2/apr.h
+++ b/include/linux/qdsp6v2/apr.h
@@ -196,6 +196,18 @@ int apr_set_q6_state(enum apr_subsys_state state);
void apr_set_subsys_state(void);
const char *apr_get_lpass_subsys_name(void);
uint16_t apr_get_reset_domain(uint16_t proc);
+#ifdef CONFIG_MSM_QDSP6_APRV2_VM
+static inline int apr_start_rx_rt(void *handle)
+{
+ return 0;
+}
+
+static inline int apr_end_rx_rt(void *handle)
+{
+ return 0;
+}
+#else
int apr_start_rx_rt(void *handle);
int apr_end_rx_rt(void *handle);
#endif
+#endif
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index 18aff0c86724..1265820a3802 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -30,6 +30,9 @@
/* Indicate backport support for external authentication in AP mode */
#define CFG80211_EXTERNAL_AUTH_AP_SUPPORT 1
+/* Indicate backport support for DH IE creation/update*/
+#define CFG80211_EXTERNAL_DH_UPDATE_SUPPORT 1
+
/**
* DOC: Introduction
*
@@ -2444,6 +2447,31 @@ struct cfg80211_external_auth_params {
};
/**
+ * struct cfg80211_update_owe_info - OWE Information
+ *
+ * This structure provides information needed for the drivers to offload OWE
+ * (Oppurtunistic Wireless Encryption) processing to the user space.
+ *
+ * Commonly used across update_owe request and event interfaces.
+ *
+ * @bssid: BSSID of the peer from which the OWE processing has to be done.
+ * @status: status code, %WLAN_STATUS_SUCCESS for successful OWE info
+ * processing, use %WLAN_STATUS_UNSPECIFIED_FAILURE if user space
+ * cannot give you the real status code for failures. Used only for
+ * OWE update response command interface (user space to driver).
+ * @ie: IE's obtained from the peer or constructed by the user space. These are
+ * the IE's of the remote peer in the event from the host driver and
+ * the constructed IE's by the user space in the request interface.
+ * @ie_len: Length of IE's in octets.
+ */
+struct cfg80211_update_owe_info {
+ u8 bssid[ETH_ALEN] __aligned(2);
+ u16 status;
+ const u8 *ie;
+ size_t ie_len;
+};
+
+/**
* struct cfg80211_ops - backend description for wireless configuration
*
* This struct is registered by fullmac card drivers and/or wireless stacks
@@ -2741,6 +2769,10 @@ struct cfg80211_external_auth_params {
*
* @external_auth: indicates result of offloaded authentication processing from
* user space
+ *
+ * @update_owe_info: Provide updated OWE info to driver. Driver implementing SME
+ * but offloading the OWE processing to the user space will get the updated
+ * DH IE's (from the IE's) obtained through this interface.
*/
struct cfg80211_ops {
int (*suspend)(struct wiphy *wiphy, struct cfg80211_wowlan *wow);
@@ -3012,6 +3044,8 @@ struct cfg80211_ops {
const u8 *addr);
int (*external_auth)(struct wiphy *wiphy, struct net_device *dev,
struct cfg80211_external_auth_params *params);
+ int (*update_owe_info)(struct wiphy *wiphy, struct net_device *dev,
+ struct cfg80211_update_owe_info *owe_info);
};
/*
@@ -5896,4 +5930,14 @@ int cfg80211_external_auth_request(struct net_device *netdev,
#define wiphy_WARN(wiphy, format, args...) \
WARN(1, "wiphy: %s\n" format, wiphy_name(wiphy), ##args);
+/**
+ * cfg80211_update_owe_info_event - Notify the peer's OWE info to user space
+ * @netdev: network device
+ * @owe_info: peer's owe info
+ * @gfp: allocation flags
+ */
+void cfg80211_update_owe_info_event(struct net_device *netdev,
+ struct cfg80211_update_owe_info *owe_info,
+ gfp_t gfp);
+
#endif /* __NET_CFG80211_H */
diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h
index 0527b779f2f0..9ac3946a916f 100644
--- a/include/uapi/linux/nl80211.h
+++ b/include/uapi/linux/nl80211.h
@@ -990,6 +990,11 @@
* indicated by %NL80211_ATTR_WIPHY_FREQ and other attributes
* determining the width and type.
*
+ * @NL80211_CMD_UPDATE_OWE_INFO: This interface allows the host driver to
+ * offload OWE processing to user space. This intends to support
+ * OWE/Enhanced Open AKM by the host drivers that implemnt SME but rely
+ * on the user space for the crypotographic/DH IE processing.
+ *
* @NL80211_CMD_MAX: highest used command number
* @__NL80211_CMD_AFTER_LAST: internal use
*/
@@ -1210,6 +1215,7 @@ enum nl80211_commands {
NL80211_CMD_NOTIFY_RADAR,
+ NL80211_CMD_UPDATE_OWE_INFO,
/* add new commands above here */
/* used to define NL80211_CMD_MAX below */