99 lines
3.4 KiB
Diff
99 lines
3.4 KiB
Diff
From a608cdd7903505217529317c04b5b58cb7e25081 Mon Sep 17 00:00:00 2001
|
|
From: Giulio Benetti <giulio.benetti@benettiengineering.com>
|
|
Date: Wed, 28 Dec 2022 21:06:43 +0100
|
|
Subject: [PATCH] cfg80211.c: fix build failure with Linux 5.19 and 6.1
|
|
|
|
Starting from Linux 5.19 stop_ap() requires unsigned int link_id as
|
|
parameter. Then from Linux 6.1 on lot of other cfg80211 APIs require
|
|
int link_id to deal with MLO, so let's add that parameter too.
|
|
|
|
[Upstream status: https://github.com/embeddedTS/wilc3000-external-module/pull/2]
|
|
Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
|
|
---
|
|
cfg80211.c | 35 +++++++++++++++++++++++++++++------
|
|
1 file changed, 29 insertions(+), 6 deletions(-)
|
|
|
|
diff --git a/cfg80211.c b/cfg80211.c
|
|
index 41edd02..57c777d 100644
|
|
--- a/cfg80211.c
|
|
+++ b/cfg80211.c
|
|
@@ -674,8 +674,12 @@ static int wilc_wfi_cfg_copy_wpa_info(struct wilc_wfi_key *key_info,
|
|
return 0;
|
|
}
|
|
|
|
-static int add_key(struct wiphy *wiphy, struct net_device *netdev, u8 key_index,
|
|
- bool pairwise, const u8 *mac_addr, struct key_params *params)
|
|
+static int add_key(struct wiphy *wiphy, struct net_device *netdev,
|
|
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6,1,0))
|
|
+ int link_id,
|
|
+#endif
|
|
+ u8 key_index, bool pairwise, const u8 *mac_addr,
|
|
+ struct key_params *params)
|
|
|
|
{
|
|
int ret = 0, keylen = params->key_len, seqlen = params->seq_len;
|
|
@@ -792,6 +796,9 @@ static int add_key(struct wiphy *wiphy, struct net_device *netdev, u8 key_index,
|
|
}
|
|
|
|
static int del_key(struct wiphy *wiphy, struct net_device *netdev,
|
|
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6,1,0))
|
|
+ int link_id,
|
|
+#endif
|
|
u8 key_index,
|
|
bool pairwise,
|
|
const u8 *mac_addr)
|
|
@@ -833,9 +840,13 @@ static int del_key(struct wiphy *wiphy, struct net_device *netdev,
|
|
return ret;
|
|
}
|
|
|
|
-static int get_key(struct wiphy *wiphy, struct net_device *netdev, u8 key_index,
|
|
- bool pairwise, const u8 *mac_addr, void *cookie,
|
|
- void (*callback)(void *cookie, struct key_params *))
|
|
+static int get_key(struct wiphy *wiphy, struct net_device *netdev,
|
|
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6,1,0))
|
|
+ int link_id,
|
|
+#endif
|
|
+ u8 key_index, bool pairwise, const u8 *mac_addr,
|
|
+ void *cookie, void (*callback)(void *cookie,
|
|
+ struct key_params *))
|
|
{
|
|
struct wilc_vif *vif = netdev_priv(netdev);
|
|
struct wilc_priv *priv = &vif->priv;
|
|
@@ -877,12 +888,18 @@ static int get_key(struct wiphy *wiphy, struct net_device *netdev, u8 key_index,
|
|
|
|
/* wiphy_new() will WARN if not present*/
|
|
static int set_default_key(struct wiphy *wiphy, struct net_device *netdev,
|
|
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6,1,0))
|
|
+ int link_id,
|
|
+#endif
|
|
u8 key_index, bool unicast, bool multicast)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
static int set_default_mgmt_key (struct wiphy *wiphy,struct net_device *netdev,
|
|
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6,1,0))
|
|
+ int link_id,
|
|
+#endif
|
|
u8 key_index)
|
|
{
|
|
return 0;
|
|
@@ -1814,7 +1831,13 @@ static int change_beacon(struct wiphy *wiphy, struct net_device *dev,
|
|
return wilc_add_beacon(vif, 0, 0, beacon);
|
|
}
|
|
|
|
-static int stop_ap(struct wiphy *wiphy, struct net_device *dev)
|
|
+static int stop_ap(struct wiphy *wiphy, struct net_device *dev
|
|
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,19,0))
|
|
+ , unsigned int link_id
|
|
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(6,1,0))
|
|
+ , int link_id
|
|
+#endif
|
|
+ )
|
|
{
|
|
int ret;
|
|
struct wilc_vif *vif = netdev_priv(dev);
|
|
--
|
|
2.34.1
|
|
|