[packages/rtl8812au] - updates and fixes for 4.1 and 4.2 kernels - rel 9
baggins
baggins at pld-linux.org
Sun Sep 27 14:06:30 CEST 2015
commit f402f269132cd8fe6fd473fb4fa156adc2965354
Author: Jan Rękorajski <baggins at pld-linux.org>
Date: Sun Sep 27 14:06:05 2015 +0200
- updates and fixes for 4.1 and 4.2 kernels
- rel 9
linux-4.1.patch | 66 +++++++++++++++++++
linux-4.2.patch | 144 ++++++++++++++++++++++++++++++++++++++++++
rtl8812au.spec | 6 +-
update-cfg80211-support.patch | 18 ------
4 files changed, 215 insertions(+), 19 deletions(-)
---
diff --git a/rtl8812au.spec b/rtl8812au.spec
index b1f9422..d5ceae4 100644
--- a/rtl8812au.spec
+++ b/rtl8812au.spec
@@ -4,7 +4,7 @@
# nothing to be placed to debuginfo package
%define _enable_debug_packages 0
-%define rel 8
+%define rel 9
%define snap 20140901
%define pname rtl8812au
Summary: Driver for AC1200 (802.11ac) Wireless Dual-Band USB Adapter
@@ -27,6 +27,8 @@ Patch4: warnings.patch
Patch5: gcc-4.9.patch
Patch6: linux-3.18.patch
Patch7: linux-4.0.patch
+Patch8: linux-4.1.patch
+Patch9: linux-4.2.patch
BuildRequires: rpmbuild(macros) >= 1.701
%{expand:%buildrequires_kernel kernel%%{_alt_kernel}-module-build >= 3:2.6.20.2}
BuildRoot: %{tmpdir}/%{pname}-%{version}-root-%(id -u -n)
@@ -76,6 +78,8 @@ Driver for AC1200 (802.11ac) Wireless Dual-Band USB Adapter\
%patch5 -p1
%patch6 -p1
%patch7 -p1
+%patch8 -p1
+%patch9 -p1
%build
%{expand:%build_kernel_packages}
diff --git a/linux-4.1.patch b/linux-4.1.patch
new file mode 100644
index 0000000..d3e0b73
--- /dev/null
+++ b/linux-4.1.patch
@@ -0,0 +1,66 @@
+--- rtl8812au_linux-master/os_dep/linux/ioctl_cfg80211.c.orig 2015-09-27 12:11:20.000000000 +0200
++++ rtl8812au_linux-master/os_dep/linux/ioctl_cfg80211.c 2015-09-27 13:53:42.644724720 +0200
+@@ -3741,7 +3737,11 @@
+ };
+ #endif
+
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,1,0))
++static int rtw_cfg80211_add_monitor_if(_adapter *padapter, char *name, unsigned char name_assign_type, struct net_device **ndev)
++#else
+ static int rtw_cfg80211_add_monitor_if(_adapter *padapter, char *name, struct net_device **ndev)
++#endif
+ {
+ int ret = 0;
+ struct net_device* mon_ndev = NULL;
+@@ -3772,6 +3772,9 @@
+ mon_ndev->type = ARPHRD_IEEE80211_RADIOTAP;
+ strncpy(mon_ndev->name, name, IFNAMSIZ);
+ mon_ndev->name[IFNAMSIZ - 1] = 0;
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,1,0))
++ mon_ndev->name_assign_type = name_assign_type;
++#endif
+ mon_ndev->destructor = rtw_ndev_destructor;
+
+ #if (LINUX_VERSION_CODE>=KERNEL_VERSION(2,6,29))
+@@ -3836,6 +3839,9 @@
+ #else
+ char *name,
+ #endif
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,1,0))
++ unsigned char name_assign_type,
++#endif
+ enum nl80211_iftype type, u32 *flags, struct vif_params *params)
+ {
+ int ret = 0;
+@@ -3853,7 +3859,11 @@
+ ret = -ENODEV;
+ break;
+ case NL80211_IFTYPE_MONITOR:
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,1,0))
++ ret = rtw_cfg80211_add_monitor_if(padapter, (char *)name, name_assign_type, &ndev);
++#else
+ ret = rtw_cfg80211_add_monitor_if(padapter, (char *)name, &ndev);
++#endif
+ break;
+
+ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37)) || defined(COMPAT_KERNEL_RELEASE)
+@@ -4130,12 +4140,15 @@
+ }
+
+ static int cfg80211_rtw_del_station(struct wiphy *wiphy, struct net_device *ndev,
+-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,15,0))
+- const u8 *mac)
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,15,0))
++ u8 *mac) {
++#elif (LINUX_VERSION_CODE < KERNEL_VERSION(4,1,0))
++ const u8 *mac) {
+ #else
+- u8 *mac)
+-#endif
++ struct station_del_parameters *params)
+ {
++ const u8 *mac = params->mac;
++#endif
+ int ret=0;
+ _irqL irqL;
+ _list *phead, *plist;
diff --git a/linux-4.2.patch b/linux-4.2.patch
new file mode 100644
index 0000000..b76e0a8
--- /dev/null
+++ b/linux-4.2.patch
@@ -0,0 +1,144 @@
+--- rtl8812au_linux-master/os_dep/linux/ioctl_cfg80211.c.orig 2015-09-27 12:11:20.000000000 +0200
++++ rtl8812au_linux-master/os_dep/linux/ioctl_cfg80211.c 2015-09-27 13:53:42.644724720 +0200
+@@ -860,17 +860,17 @@
+ #endif //CONFIG_P2P
+
+ if (!padapter->mlmepriv.not_indic_disco) {
+- DBG_8192C("pwdev->sme_state(b)=%d\n", pwdev->sme_state);
+-
+- if(pwdev->sme_state==CFG80211_SME_CONNECTING)
++ if (check_fwstate(pmlmepriv, WIFI_UNDER_LINKING)) {
+ cfg80211_connect_result(padapter->pnetdev, NULL, NULL, 0, NULL, 0,
+ WLAN_STATUS_UNSPECIFIED_FAILURE, GFP_ATOMIC/*GFP_KERNEL*/);
+- else if(pwdev->sme_state==CFG80211_SME_CONNECTED)
++ } else {
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4,2,0)
+ cfg80211_disconnected(padapter->pnetdev, 0, NULL, 0, GFP_ATOMIC);
+- //else
+- //DBG_8192C("pwdev->sme_state=%d\n", pwdev->sme_state);
+-
+- DBG_8192C("pwdev->sme_state(a)=%d\n", pwdev->sme_state);
++#else
++ cfg80211_disconnected(padapter->pnetdev, 0, NULL, 0, false, GFP_ATOMIC);
++#endif
++ }
++ DBG_8192C("pwdev->sme_state(a)=%d\n", pwdev->sme_state);
+ }
+ }
+
+--- rtl8812au_linux-master/hal/hal_com_phycfg.c.orig 2015-09-27 13:54:46.694957018 +0200
++++ rtl8812au_linux-master/hal/hal_com_phycfg.c 2015-09-27 13:57:14.855000882 +0200
+@@ -2575,7 +2575,7 @@
+ #ifdef CONFIG_LOAD_PHY_PARA_FROM_FILE
+
+ extern char *rtw_phy_file_path;
+-char file_path[PATH_LENGTH_MAX];
++char rtw_file_path[PATH_LENGTH_MAX];
+
+ #define GetLineFromBuffer(buffer) strsep(&buffer, "\n")
+
+@@ -2597,11 +2597,11 @@
+
+ if ((pHalData->mac_reg_len == 0) && (pHalData->mac_reg == NULL))
+ {
+- rtw_merge_string(file_path, PATH_LENGTH_MAX, rtw_phy_file_path, pFileName);
++ rtw_merge_string(rtw_file_path, PATH_LENGTH_MAX, rtw_phy_file_path, pFileName);
+
+- if (rtw_is_file_readable(file_path) == _TRUE)
++ if (rtw_is_file_readable(rtw_file_path) == _TRUE)
+ {
+- rlen = rtw_retrive_from_file(file_path, pHalData->para_file_buf, MAX_PARA_FILE_BUF_LEN);
++ rlen = rtw_retrive_from_file(rtw_file_path, pHalData->para_file_buf, MAX_PARA_FILE_BUF_LEN);
+ if (rlen > 0)
+ {
+ rtStatus = _SUCCESS;
+@@ -2696,11 +2696,11 @@
+
+ if ((pBufLen != NULL) && (*pBufLen == 0) && (pBuf == NULL))
+ {
+- rtw_merge_string(file_path, PATH_LENGTH_MAX, rtw_phy_file_path, pFileName);
++ rtw_merge_string(rtw_file_path, PATH_LENGTH_MAX, rtw_phy_file_path, pFileName);
+
+- if (rtw_is_file_readable(file_path) == _TRUE)
++ if (rtw_is_file_readable(rtw_file_path) == _TRUE)
+ {
+- rlen = rtw_retrive_from_file(file_path, pHalData->para_file_buf, MAX_PARA_FILE_BUF_LEN);
++ rlen = rtw_retrive_from_file(rtw_file_path, pHalData->para_file_buf, MAX_PARA_FILE_BUF_LEN);
+ if (rlen > 0)
+ {
+ rtStatus = _SUCCESS;
+@@ -3149,11 +3149,11 @@
+
+ if ((pHalData->bb_phy_reg_pg_len == 0) && (pHalData->bb_phy_reg_pg == NULL))
+ {
+- rtw_merge_string(file_path, PATH_LENGTH_MAX, rtw_phy_file_path, pFileName);
++ rtw_merge_string(rtw_file_path, PATH_LENGTH_MAX, rtw_phy_file_path, pFileName);
+
+- if (rtw_is_file_readable(file_path) == _TRUE)
++ if (rtw_is_file_readable(rtw_file_path) == _TRUE)
+ {
+- rlen = rtw_retrive_from_file(file_path, pHalData->para_file_buf, MAX_PARA_FILE_BUF_LEN);
++ rlen = rtw_retrive_from_file(rtw_file_path, pHalData->para_file_buf, MAX_PARA_FILE_BUF_LEN);
+ if (rlen > 0)
+ {
+ rtStatus = _SUCCESS;
+@@ -3212,11 +3212,11 @@
+
+ if ((pHalData->bb_phy_reg_mp_len == 0) && (pHalData->bb_phy_reg_mp == NULL))
+ {
+- rtw_merge_string(file_path, PATH_LENGTH_MAX, rtw_phy_file_path, pFileName);
++ rtw_merge_string(rtw_file_path, PATH_LENGTH_MAX, rtw_phy_file_path, pFileName);
+
+- if (rtw_is_file_readable(file_path) == _TRUE)
++ if (rtw_is_file_readable(rtw_file_path) == _TRUE)
+ {
+- rlen = rtw_retrive_from_file(file_path, pHalData->para_file_buf, MAX_PARA_FILE_BUF_LEN);
++ rlen = rtw_retrive_from_file(rtw_file_path, pHalData->para_file_buf, MAX_PARA_FILE_BUF_LEN);
+ if (rlen > 0)
+ {
+ rtStatus = _SUCCESS;
+@@ -3348,11 +3348,11 @@
+
+ if ((pBufLen != NULL) && (*pBufLen == 0) && (pBuf == NULL))
+ {
+- rtw_merge_string(file_path, PATH_LENGTH_MAX, rtw_phy_file_path, pFileName);
++ rtw_merge_string(rtw_file_path, PATH_LENGTH_MAX, rtw_phy_file_path, pFileName);
+
+- if (rtw_is_file_readable(file_path) == _TRUE)
++ if (rtw_is_file_readable(rtw_file_path) == _TRUE)
+ {
+- rlen = rtw_retrive_from_file(file_path, pHalData->para_file_buf, MAX_PARA_FILE_BUF_LEN);
++ rlen = rtw_retrive_from_file(rtw_file_path, pHalData->para_file_buf, MAX_PARA_FILE_BUF_LEN);
+ if (rlen > 0)
+ {
+ rtStatus = _SUCCESS;
+@@ -3626,11 +3626,11 @@
+
+ if ((pHalData->rf_tx_pwr_track_len == 0) && (pHalData->rf_tx_pwr_track == NULL))
+ {
+- rtw_merge_string(file_path, PATH_LENGTH_MAX, rtw_phy_file_path, pFileName);
++ rtw_merge_string(rtw_file_path, PATH_LENGTH_MAX, rtw_phy_file_path, pFileName);
+
+- if (rtw_is_file_readable(file_path) == _TRUE)
++ if (rtw_is_file_readable(rtw_file_path) == _TRUE)
+ {
+- rlen = rtw_retrive_from_file(file_path, pHalData->para_file_buf, MAX_PARA_FILE_BUF_LEN);
++ rlen = rtw_retrive_from_file(rtw_file_path, pHalData->para_file_buf, MAX_PARA_FILE_BUF_LEN);
+ if (rlen > 0)
+ {
+ rtStatus = _SUCCESS;
+@@ -3995,11 +3995,11 @@
+
+ if ((pHalData->rf_tx_pwr_lmt_len == 0) && (pHalData->rf_tx_pwr_lmt == NULL))
+ {
+- rtw_merge_string(file_path, PATH_LENGTH_MAX, rtw_phy_file_path, pFileName);
++ rtw_merge_string(rtw_file_path, PATH_LENGTH_MAX, rtw_phy_file_path, pFileName);
+
+- if (rtw_is_file_readable(file_path) == _TRUE)
++ if (rtw_is_file_readable(rtw_file_path) == _TRUE)
+ {
+- rlen = rtw_retrive_from_file(file_path, pHalData->para_file_buf, MAX_PARA_FILE_BUF_LEN);
++ rlen = rtw_retrive_from_file(rtw_file_path, pHalData->para_file_buf, MAX_PARA_FILE_BUF_LEN);
+ if (rlen > 0)
+ {
+ rtStatus = _SUCCESS;
diff --git a/update-cfg80211-support.patch b/update-cfg80211-support.patch
index 1b853d9..ca270d1 100644
--- a/update-cfg80211-support.patch
+++ b/update-cfg80211-support.patch
@@ -71,24 +71,6 @@ index 3abcad9..3a5f667 100644
}
}
-@@ -838,6 +860,7 @@ void rtw_cfg80211_indicate_disconnect(_adapter *padapter)
- #endif //CONFIG_P2P
-
- if (!padapter->mlmepriv.not_indic_disco) {
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,11,0)
- DBG_8192C("pwdev->sme_state(b)=%d\n", pwdev->sme_state);
-
- if(pwdev->sme_state==CFG80211_SME_CONNECTING)
-@@ -849,6 +872,9 @@ void rtw_cfg80211_indicate_disconnect(_adapter *padapter)
- //DBG_8192C("pwdev->sme_state=%d\n", pwdev->sme_state);
-
- DBG_8192C("pwdev->sme_state(a)=%d\n", pwdev->sme_state);
-+#else
-+ cfg80211_disconnected(padapter->pnetdev, 0, NULL, 0, GFP_ATOMIC);
-+#endif
- }
- }
-
@@ -1666,7 +1692,11 @@ static int cfg80211_rtw_set_default_key(struct wiphy *wiphy,
static int cfg80211_rtw_get_station(struct wiphy *wiphy,
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/rtl8812au.git/commitdiff/f402f269132cd8fe6fd473fb4fa156adc2965354
More information about the pld-cvs-commit
mailing list