rtl8812au-ct: bump to fix kernel 6.1 compile
authorJohn Thomson <git@johnthomson.fastmail.com.au>
Tue, 15 Aug 2023 22:11:45 +0000 (08:11 +1000)
committerHauke Mehrtens <hauke@hauke-m.de>
Sat, 19 Aug 2023 14:38:48 +0000 (16:38 +0200)
 9b2b203 fix usb_recv_tasklet -Wcast-function-type
 a027da5 fix kernel 6.1 80211 link_id
 7a9c802 fix build for kernel 6.1 prandom
 3a3eb24 fix build for kernel 5.17 PDE_DATA
 fe2afbd fix build for kernel 5.17 const netdev->dev_addr
 7275bae fix build for 5.17 kernel complete_and_exit
 c9c2aa7 Update usb_intf.c

revert the upstream 6.1 link_id (depend on kernel version) changes and
force 6.1 link_id

The downstream patch casting const off the direct dev_addr writes
triggers the runtime check from
Linux d07b26f5bbea ("dev_addr: add a modification check")

Fixes: #13261
Fixes: a07566ead82a ("rtl8812au-ct: fix even more compilation error with kernel 6.1")
Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au>
package/kernel/rtl8812au-ct/Makefile
package/kernel/rtl8812au-ct/patches/003-wireless-5.8.patch
package/kernel/rtl8812au-ct/patches/005-kernel-6.1.patch [deleted file]
package/kernel/rtl8812au-ct/patches/006-os_dep-osdep_service-use-new-get_random_u32.patch [deleted file]
package/kernel/rtl8812au-ct/patches/007-treewide-fix-always-TRUE-condition-warning.patch
package/kernel/rtl8812au-ct/patches/008-treewide-use-correct-type-for-tasklet_init.patch [deleted file]
package/kernel/rtl8812au-ct/patches/009-treewide-drop-const-from-dev_addr.patch [deleted file]
package/kernel/rtl8812au-ct/patches/010-os_dep-linux-proc-move-to-pde_data-function.patch [deleted file]
package/kernel/rtl8812au-ct/patches/099-cut-linkid-linux-version-code-conditionals.patch [new file with mode: 0644]
package/kernel/rtl8812au-ct/patches/100-api_update.patch

index be1acabf28778fb0532585ed657e9f711de829bc..e3b71f75aa02f43d601bc9fbb2e4a7bc174f1d75 100644 (file)
@@ -7,10 +7,10 @@ PKG_LICENSE:=GPLv2
 PKG_LICENSE_FILES:=
 
 PKG_SOURCE_URL:=https://github.com/greearb/rtl8812AU_8821AU_linux.git
-PKG_MIRROR_HASH:=31e658df3e4d4c18c396259c2e0bef2bfc44a4aa870931f031a31e948be98af4
+PKG_MIRROR_HASH:=7ae5ebcba382de97942b13f8edbcb2ebff1a93eb25ae1d3de98317386fafb830
 PKG_SOURCE_PROTO:=git
-PKG_SOURCE_DATE:=2021-11-07
-PKG_SOURCE_VERSION:=39df55967b7de9f6c9600017b724303f95a8b9e2
+PKG_SOURCE_DATE:=2022-10-26
+PKG_SOURCE_VERSION:=9b2b203a217e1320602a0eb07c338a1bfca0f5a6
 
 PKG_MAINTAINER:=Ben Greear <greearb@candelatech.com>
 PKG_BUILD_PARALLEL:=1
index 67ebb82b38786069956c4312eeae7371a8b97ee2..f84adebe0ad2ccbbcf23aa8a3d3e7135a8725629 100644 (file)
@@ -1,6 +1,6 @@
 --- a/os_dep/linux/ioctl_cfg80211.c
 +++ b/os_dep/linux/ioctl_cfg80211.c
-@@ -5177,6 +5177,15 @@ exit:
+@@ -5196,6 +5196,15 @@ exit:
        return ret;
  }
  
@@ -16,7 +16,7 @@
  #if defined(CONFIG_TDLS) && (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0))
  static int cfg80211_rtw_tdls_mgmt(struct wiphy *wiphy,
                struct net_device *ndev,
-@@ -5990,7 +5999,10 @@ static struct cfg80211_ops rtw_cfg80211_
+@@ -6009,7 +6018,10 @@ static struct cfg80211_ops rtw_cfg80211_
        .cancel_remain_on_channel = cfg80211_rtw_cancel_remain_on_channel,
  #endif
  
diff --git a/package/kernel/rtl8812au-ct/patches/005-kernel-6.1.patch b/package/kernel/rtl8812au-ct/patches/005-kernel-6.1.patch
deleted file mode 100644 (file)
index 98aa678..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/include/osdep_service_linux.h
-+++ b/include/osdep_service_linux.h
-@@ -163,7 +163,11 @@ typedef void*             _thread_hdl_;
- typedef int           thread_return;
- typedef void* thread_context;
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,17,0))
-+#define thread_exit() kthread_complete_and_exit(NULL, 0)
-+#else
- #define thread_exit() complete_and_exit(NULL, 0)
-+#endif
- typedef void timer_hdl_return;
- typedef void* timer_hdl_context;
diff --git a/package/kernel/rtl8812au-ct/patches/006-os_dep-osdep_service-use-new-get_random_u32.patch b/package/kernel/rtl8812au-ct/patches/006-os_dep-osdep_service-use-new-get_random_u32.patch
deleted file mode 100644 (file)
index 16ebbb1..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-From e8f10b21abd8ae440632f561f8b65f37b4b55cc8 Mon Sep 17 00:00:00 2001
-From: Christian Marangi <ansuelsmth@gmail.com>
-Date: Sun, 30 Jul 2023 11:16:32 +0200
-Subject: [PATCH 1/5] os_dep/osdep_service: use new get_random_u32
-
-Drop prandom_u32 as got deprecated for get_random_u32.
-
-Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
----
- os_dep/osdep_service.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
---- a/os_dep/osdep_service.c
-+++ b/os_dep/osdep_service.c
-@@ -2335,7 +2335,9 @@ u64 rtw_division64(u64 x, u64 y)
- inline u32 rtw_random32(void)
- {
- #ifdef PLATFORM_LINUX
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,8,0))
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6,1,0))
-+      return get_random_u32();
-+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,8,0))
-       return prandom_u32();
- #elif (LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,18))
-       u32 random_int;
index be7b70ab5f2b9e5c302e74052753b9659de7cceb..c645c1e8e39e7ef5fd7216f23b6db7ba4d70a550 100644 (file)
@@ -60,7 +60,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
                if(input_idx>=1) {
 --- a/os_dep/linux/ioctl_cfg80211.c
 +++ b/os_dep/linux/ioctl_cfg80211.c
-@@ -2170,8 +2170,7 @@ static int cfg80211_rtw_scan(struct wiph
+@@ -2185,8 +2185,7 @@ static int cfg80211_rtw_scan(struct wiph
  
  #ifdef CONFIG_P2P
        if( pwdinfo->driver_interface == DRIVER_CFG80211 ) {
diff --git a/package/kernel/rtl8812au-ct/patches/008-treewide-use-correct-type-for-tasklet_init.patch b/package/kernel/rtl8812au-ct/patches/008-treewide-use-correct-type-for-tasklet_init.patch
deleted file mode 100644 (file)
index 6067413..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-From 5f3bb5602615894cda88ca1b44fdfafdfb01c8c8 Mon Sep 17 00:00:00 2001
-From: Christian Marangi <ansuelsmth@gmail.com>
-Date: Sun, 30 Jul 2023 11:20:39 +0200
-Subject: [PATCH 3/5] treewide: use correct type for tasklet_init
-
-Update and use correct type for tasklet_init to fix compilation error
-for not valid cast.
-
-Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
----
- hal/hal_hci/hal_usb.c             | 2 +-
- hal/rtl8812a/usb/rtl8812au_xmit.c | 2 +-
- hal/rtl8812a/usb/usb_ops_linux.c  | 2 +-
- include/rtl8812a_xmit.h           | 2 +-
- include/usb_ops_linux.h           | 2 +-
- os_dep/linux/usb_ops_linux.c      | 4 ++--
- 6 files changed, 7 insertions(+), 7 deletions(-)
-
---- a/hal/hal_hci/hal_usb.c
-+++ b/hal/hal_hci/hal_usb.c
-@@ -35,7 +35,7 @@ int  usb_init_recv_priv(_adapter *padapte
- #ifdef PLATFORM_LINUX
-       tasklet_init(&precvpriv->recv_tasklet,
--                   (void(*)(unsigned long))usb_recv_tasklet,
-+                   usb_recv_tasklet,
-                    (unsigned long)padapter);
- #endif /* PLATFORM_LINUX */
---- a/hal/rtl8812a/usb/rtl8812au_xmit.c
-+++ b/hal/rtl8812a/usb/rtl8812au_xmit.c
-@@ -30,7 +30,7 @@ s32  rtl8812au_init_xmit_priv(_adapter *p
- #ifdef PLATFORM_LINUX
-       tasklet_init(&pxmitpriv->xmit_tasklet,
--                   (void(*)(unsigned long))rtl8812au_xmit_tasklet,
-+                   rtl8812au_xmit_tasklet,
-                    (unsigned long)padapter);
- #endif
- #ifdef CONFIG_TX_EARLY_MODE
---- a/hal/rtl8812a/usb/usb_ops_linux.c
-+++ b/hal/rtl8812a/usb/usb_ops_linux.c
-@@ -475,7 +475,7 @@ _exit_recvbuf2recvframe:
- }
--void rtl8812au_xmit_tasklet(void *priv)
-+void rtl8812au_xmit_tasklet(unsigned long priv)
- {
-       int ret = _FALSE;
-       _adapter *padapter = (_adapter*)priv;
---- a/include/rtl8812a_xmit.h
-+++ b/include/rtl8812a_xmit.h
-@@ -331,7 +331,7 @@ s32 rtl8812au_hal_xmit(PADAPTER padapter
- s32 rtl8812au_mgnt_xmit(PADAPTER padapter, struct xmit_frame *pmgntframe);
- s32    rtl8812au_hal_xmitframe_enqueue(_adapter *padapter, struct xmit_frame *pxmitframe);
- s32 rtl8812au_xmit_buf_handler(PADAPTER padapter);
--void rtl8812au_xmit_tasklet(void *priv);
-+void rtl8812au_xmit_tasklet(unsigned long priv);
- s32 rtl8812au_xmitframe_complete(_adapter *padapter, struct xmit_priv *pxmitpriv, struct xmit_buf *pxmitbuf);
- #endif
---- a/include/usb_ops_linux.h
-+++ b/include/usb_ops_linux.h
-@@ -78,7 +78,7 @@ int usb_write16(struct intf_hdl *pintfhd
- int usb_write32(struct intf_hdl *pintfhdl, u32 addr, u32 val);
- int usb_writeN(struct intf_hdl *pintfhdl, u32 addr, u32 length, u8 *pdata);
- u32 usb_read_port(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, u8 *rmem);
--void usb_recv_tasklet(void *priv);
-+void usb_recv_tasklet(unsigned long priv);
- #endif
---- a/os_dep/linux/usb_ops_linux.c
-+++ b/os_dep/linux/usb_ops_linux.c
-@@ -717,7 +717,7 @@ void usb_init_recvbuf(_adapter *padapter
- int recvbuf2recvframe(PADAPTER padapter, void *ptr);
- #ifdef CONFIG_USE_USB_BUFFER_ALLOC_RX
--void usb_recv_tasklet(void *priv)
-+void usb_recv_tasklet(unsigned long priv)
- {
-       struct recv_buf *precvbuf = NULL;
-       _adapter        *padapter = (_adapter*)priv;
-@@ -870,7 +870,7 @@ u32 usb_read_port(struct intf_hdl *pintf
- }
- #else // CONFIG_USE_USB_BUFFER_ALLOC_RX
--void usb_recv_tasklet(void *priv)
-+void usb_recv_tasklet(unsigned long priv)
- {
-       _pkt                    *pskb;
-       _adapter                *padapter = (_adapter*)priv;
diff --git a/package/kernel/rtl8812au-ct/patches/009-treewide-drop-const-from-dev_addr.patch b/package/kernel/rtl8812au-ct/patches/009-treewide-drop-const-from-dev_addr.patch
deleted file mode 100644 (file)
index 64ad853..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-From 51ab9d6a959de87206731f941b1df39e5c5d63ea Mon Sep 17 00:00:00 2001
-From: Christian Marangi <ansuelsmth@gmail.com>
-Date: Sun, 30 Jul 2023 11:21:49 +0200
-Subject: [PATCH 4/5] treewide: drop const from dev_addr
-
-dev_addr is not const and conflict with memcpy function. Fix compilation
-warning by casting dev_addr to void*.
-
-This operation is safe as this is done before netdev register.
-
-Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
----
- os_dep/linux/os_intfs.c | 6 +++---
- os_dep/osdep_service.c  | 2 +-
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
---- a/os_dep/linux/os_intfs.c
-+++ b/os_dep/linux/os_intfs.c
-@@ -1885,7 +1885,7 @@ int _netdev_if2_open(struct net_device *
-               _rtw_memcpy(padapter->eeprompriv.mac_addr, mac, ETH_ALEN);
-               rtw_init_wifidirect_addrs(padapter, padapter->eeprompriv.mac_addr, padapter->eeprompriv.mac_addr);
--              _rtw_memcpy(pnetdev->dev_addr, padapter->eeprompriv.mac_addr, ETH_ALEN);
-+              _rtw_memcpy((void *)pnetdev->dev_addr, padapter->eeprompriv.mac_addr, ETH_ALEN);
-       }
- #endif //CONFIG_PLATFORM_INTEL_BYT
-@@ -2254,7 +2254,7 @@ static int _rtw_drv_register_netdev(_ada
-       /* alloc netdev name */
-       rtw_init_netdev_name(pnetdev, name);
--      _rtw_memcpy(pnetdev->dev_addr, padapter->eeprompriv.mac_addr, ETH_ALEN);
-+      _rtw_memcpy((void *)pnetdev->dev_addr, padapter->eeprompriv.mac_addr, ETH_ALEN);
-       /* Tell the network stack we exist */
-       if (register_netdev(pnetdev) != 0) {
-@@ -2334,7 +2334,7 @@ int _netdev_open(struct net_device *pnet
- #ifdef CONFIG_PLATFORM_INTEL_BYT
-               rtw_macaddr_cfg(padapter->eeprompriv.mac_addr);
-               rtw_init_wifidirect_addrs(padapter, padapter->eeprompriv.mac_addr, padapter->eeprompriv.mac_addr);
--              _rtw_memcpy(pnetdev->dev_addr, padapter->eeprompriv.mac_addr, ETH_ALEN);
-+              _rtw_memcpy((void *)pnetdev->dev_addr, padapter->eeprompriv.mac_addr, ETH_ALEN);
- #endif //CONFIG_PLATFORM_INTEL_BYT
-               padapter->bDriverStopped = _FALSE;
---- a/os_dep/osdep_service.c
-+++ b/os_dep/osdep_service.c
-@@ -2209,7 +2209,7 @@ int rtw_change_ifname(_adapter *padapter
-       rtw_init_netdev_name(pnetdev, ifname);
--      _rtw_memcpy(pnetdev->dev_addr, padapter->eeprompriv.mac_addr, ETH_ALEN);
-+      _rtw_memcpy((void *)pnetdev->dev_addr, padapter->eeprompriv.mac_addr, ETH_ALEN);
- #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26))
-       if(!rtnl_is_locked())
diff --git a/package/kernel/rtl8812au-ct/patches/010-os_dep-linux-proc-move-to-pde_data-function.patch b/package/kernel/rtl8812au-ct/patches/010-os_dep-linux-proc-move-to-pde_data-function.patch
deleted file mode 100644 (file)
index 1c62e77..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-From f455198acaa71c2963746a6b17c878c7d1d0e331 Mon Sep 17 00:00:00 2001
-From: Christian Marangi <ansuelsmth@gmail.com>
-Date: Sun, 30 Jul 2023 11:22:58 +0200
-Subject: [PATCH 5/5] os_dep/linux/proc: move to pde_data function
-
-PDE_DATA macro was dropped in 5.17 with the new pde_data that does the
-exact thing. Fix compilation error and use new function.
-
-Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
----
- os_dep/linux/rtw_proc.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
---- a/os_dep/linux/rtw_proc.c
-+++ b/os_dep/linux/rtw_proc.c
-@@ -37,6 +37,10 @@ inline struct proc_dir_entry *get_rtw_dr
- #define file_inode(file) ((file)->f_dentry->d_inode)
- #endif
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,17,0))
-+#define PDE_DATA(inode) pde_data(inode)
-+#endif
-+
- #if (LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0))
- #define PDE_DATA(inode) PDE((inode))->data
- #define proc_get_parent_data(inode) PDE((inode))->parent->data
diff --git a/package/kernel/rtl8812au-ct/patches/099-cut-linkid-linux-version-code-conditionals.patch b/package/kernel/rtl8812au-ct/patches/099-cut-linkid-linux-version-code-conditionals.patch
new file mode 100644 (file)
index 0000000..bb644a9
--- /dev/null
@@ -0,0 +1,86 @@
+From 30fc9d96fa2ce16209306237e677d3d3cbb12685 Mon Sep 17 00:00:00 2001
+From: John Thomson <git@johnthomson.fastmail.com.au>
+Date: Sun, 28 May 2023 13:26:46 +1000
+Subject: [PATCH] Revert "fix kernel 6.1 80211 link_id"
+
+This reverts commit a027da58e8d8e95827f97222ca321cd0b2d377dd.
+---
+ os_dep/linux/ioctl_cfg80211.c | 29 +++++------------------------
+ 1 file changed, 5 insertions(+), 24 deletions(-)
+
+--- a/os_dep/linux/ioctl_cfg80211.c
++++ b/os_dep/linux/ioctl_cfg80211.c
+@@ -797,14 +797,9 @@ check_bss:
+ #endif
+               DBG_871X(FUNC_ADPT_FMT" call cfg80211_roamed\n", FUNC_ADPT_ARG(padapter));
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 0, 0)
+-              roam_info.links[0].channel = notify_channel;
+-              roam_info.links[0].bssid = cur_network->network.MacAddress;
+-#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
+               roam_info.channel = notify_channel;
+               roam_info.bssid = cur_network->network.MacAddress;
+-#endif
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
+               roam_info.req_ie = pmlmepriv->assoc_req + sizeof(struct rtw_ieee80211_hdr_3addr) + 2;
+               roam_info.req_ie_len = pmlmepriv->assoc_req_len - sizeof(struct rtw_ieee80211_hdr_3addr) - 2;
+               roam_info.resp_ie = pmlmepriv->assoc_rsp + sizeof(struct rtw_ieee80211_hdr_3addr) + 6;
+@@ -1393,9 +1388,7 @@ exit:
+ }
+ static int cfg80211_rtw_add_key(struct wiphy *wiphy, struct net_device *ndev,
+-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0))
+-                                int link_id, u8 key_index, bool pairwise, const u8 *mac_addr,
+-#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37)) || defined(COMPAT_KERNEL_RELEASE)
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37)) || defined(COMPAT_KERNEL_RELEASE)
+                                 u8 key_index, bool pairwise, const u8 *mac_addr,
+ #else // (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37))
+                                 u8 key_index, const u8 *mac_addr,
+@@ -1535,9 +1528,7 @@ addkey_end:
+ }
+ static int cfg80211_rtw_get_key(struct wiphy *wiphy, struct net_device *ndev,
+-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0))
+-                                int link_id, u8 key_index, bool pairwise, const u8 *mac_addr,
+-#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37)) || defined(COMPAT_KERNEL_RELEASE)
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37)) || defined(COMPAT_KERNEL_RELEASE)
+                                 u8 key_index, bool pairwise, const u8 *mac_addr,
+ #else // (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37))
+                                 u8 key_index, const u8 *mac_addr,
+@@ -1570,9 +1561,7 @@ static int cfg80211_rtw_get_key(struct w
+ }
+ static int cfg80211_rtw_del_key(struct wiphy *wiphy, struct net_device *ndev,
+-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0))
+-                                int link_id, u8 key_index, bool pairwise, const u8 *mac_addr)
+-#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37)) || defined(COMPAT_KERNEL_RELEASE)
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37)) || defined(COMPAT_KERNEL_RELEASE)
+                                 u8 key_index, bool pairwise, const u8 *mac_addr)
+ #else // (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37))
+                                 u8 key_index, const u8 *mac_addr)
+@@ -1592,11 +1581,7 @@ static int cfg80211_rtw_del_key(struct w
+ }
+ static int cfg80211_rtw_set_default_key(struct wiphy *wiphy,
+-                                      struct net_device *ndev,
+-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0))
+-                                        int link_id,
+-#endif
+-                                        u8 key_index
++                                        struct net_device *ndev, u8 key_index
+ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)) || defined(COMPAT_KERNEL_RELEASE)
+                                         , bool unicast, bool multicast
+ #endif
+@@ -4033,11 +4018,7 @@ static int cfg80211_rtw_change_beacon(st
+       return ret;
+ }
+-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6,0,0))
+-static int cfg80211_rtw_stop_ap(struct wiphy *wiphy, struct net_device *ndev, unsigned int link_id)
+-#else
+ static int cfg80211_rtw_stop_ap(struct wiphy *wiphy, struct net_device *ndev)
+-#endif
+ {
+       DBG_871X(FUNC_NDEV_FMT"\n", FUNC_NDEV_ARG(ndev));
+       return 0;
index 2c081256ed7b9b7c049e9f0a1c8b775fc643270b..e7ca4b05f3446bdf1c652a80d340c0ee91ab2120 100644 (file)
@@ -44,7 +44,7 @@
  #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)) || defined(COMPAT_KERNEL_RELEASE)
                                          , bool unicast, bool multicast
  #endif
-@@ -4019,7 +4022,8 @@ static int cfg80211_rtw_change_beacon(st
+@@ -4018,7 +4021,8 @@ static int cfg80211_rtw_change_beacon(st
        return ret;
  }