1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- 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
|