[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