rtl88x2bu/8821cu: add missing patches

This commit is contained in:
AmadeusGhost 2020-08-12 11:08:29 +08:00
parent 417b4db30f
commit 347febc347
6 changed files with 123 additions and 0 deletions

View File

@ -0,0 +1,15 @@
Fix compile problem when rtw_byteorder.h and asm/byteorder.h gets
included in addition for example indirectly, do not use realtek own copy
of the byteorder headers.
--- a/include/drv_types.h
+++ b/include/drv_types.h
@@ -25,7 +25,7 @@
#include <drv_conf.h>
#include <basic_types.h>
#include <osdep_service.h>
-#include <rtw_byteorder.h>
+#include <asm/byteorder.h>
#include <wlan_bssdef.h>
#include <wifi.h>
#include <ieee80211.h>

View File

@ -0,0 +1,33 @@
diff --git a/include/linux/wireless.h b/include/linux/wireless.h
index c7f4a6c..f7ef486 100644
--- a/include/linux/wireless.h
+++ b/include/linux/wireless.h
@@ -18,10 +18,11 @@
/***************************** INCLUDES *****************************/
-#if 0
+#if 1
#include <linux/types.h> /* for __u* and __s* typedefs */
#include <linux/socket.h> /* for "struct sockaddr" et al */
#include <linux/if.h> /* for IFNAMSIZ and co... */
+ #include <uapi/linux/wireless.h>
#else
#define __user
/* typedef uint16_t __u16; */
@@ -37,6 +38,8 @@ struct compat_iw_point {
__u16 flags;
};
#endif
+
+#if 0
/* --------------------------- SUBTYPES --------------------------- */
/*
* For all data larger than 16 octets, we need to use a
@@ -83,5 +86,6 @@ struct iwreq {
/* Data part (defined just above) */
union iwreq_data u;
};
+#endif
#endif /* _LINUX_WIRELESS_H */

View File

@ -0,0 +1,27 @@
diff --git a/os_dep/linux/os_intfs.c b/os_dep/linux/os_intfs.c
index c4b5157..cdb9388 100755
--- a/os_dep/linux/os_intfs.c
+++ b/os_dep/linux/os_intfs.c
@@ -1302,6 +1302,14 @@ unsigned int rtw_classify8021d(struct sk_buff *skb)
}
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,19,0))
+static u16 rtw_select_queue(struct net_device *dev, struct sk_buff *skb
+ , struct net_device *sb_dev
+ #if (LINUX_VERSION_CODE < KERNEL_VERSION(5,2,0))
+ , select_queue_fallback_t fallback
+ #endif
+)
+#else
static u16 rtw_select_queue(struct net_device *dev, struct sk_buff *skb
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 13, 0)
, void *accel_priv
@@ -1310,6 +1318,7 @@ static u16 rtw_select_queue(struct net_device *dev, struct sk_buff *skb
#endif
#endif
)
+#endif
{
_adapter *padapter = rtw_netdev_priv(dev);
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;

View File

@ -0,0 +1,15 @@
Fix compile problem when rtw_byteorder.h and asm/byteorder.h gets
included in addition for example indirectly, do not use realtek own copy
of the byteorder headers.
--- a/include/drv_types.h
+++ b/include/drv_types.h
@@ -25,7 +25,7 @@
#include <drv_conf.h>
#include <basic_types.h>
#include <osdep_service.h>
-#include <rtw_byteorder.h>
+#include <asm/byteorder.h>
#include <wlan_bssdef.h>
#include <wifi.h>
#include <ieee80211.h>

View File

@ -0,0 +1,33 @@
diff --git a/include/linux/wireless.h b/include/linux/wireless.h
index c7f4a6c..f7ef486 100644
--- a/include/linux/wireless.h
+++ b/include/linux/wireless.h
@@ -18,10 +18,11 @@
/***************************** INCLUDES *****************************/
-#if 0
+#if 1
#include <linux/types.h> /* for __u* and __s* typedefs */
#include <linux/socket.h> /* for "struct sockaddr" et al */
#include <linux/if.h> /* for IFNAMSIZ and co... */
+ #include <uapi/linux/wireless.h>
#else
#define __user
/* typedef uint16_t __u16; */
@@ -37,6 +38,8 @@ struct compat_iw_point {
__u16 flags;
};
#endif
+
+#if 0
/* --------------------------- SUBTYPES --------------------------- */
/*
* For all data larger than 16 octets, we need to use a
@@ -83,5 +86,6 @@ struct iwreq {
/* Data part (defined just above) */
union iwreq_data u;
};
+#endif
#endif /* _LINUX_WIRELESS_H */