mirror of
https://github.com/abperiasamy/rtl8812AU_8821AU_linux.git
synced 2025-12-08 17:46:21 +01:00
Update cfg80211 support to work with kernel up to 3.13. Also enable cfg80211 for AP mode
This commit is contained in:
@@ -40,7 +40,7 @@
|
|||||||
#define PLATFORM_LINUX 1
|
#define PLATFORM_LINUX 1
|
||||||
|
|
||||||
|
|
||||||
//#define CONFIG_IOCTL_CFG80211 1
|
#define CONFIG_IOCTL_CFG80211 1
|
||||||
|
|
||||||
#ifdef CONFIG_PLATFORM_ARM_SUNxI
|
#ifdef CONFIG_PLATFORM_ARM_SUNxI
|
||||||
#ifndef CONFIG_IOCTL_CFG80211
|
#ifndef CONFIG_IOCTL_CFG80211
|
||||||
@@ -49,8 +49,8 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_IOCTL_CFG80211
|
#ifdef CONFIG_IOCTL_CFG80211
|
||||||
//#define RTW_USE_CFG80211_STA_EVENT /* Indecate new sta asoc through cfg80211_new_sta */
|
#define RTW_USE_CFG80211_STA_EVENT /* Indecate new sta asoc through cfg80211_new_sta */
|
||||||
#define CONFIG_CFG80211_FORCE_COMPATIBLE_2_6_37_UNDER
|
//#define CONFIG_CFG80211_FORCE_COMPATIBLE_2_6_37_UNDER
|
||||||
//#define CONFIG_DEBUG_CFG80211
|
//#define CONFIG_DEBUG_CFG80211
|
||||||
//#define CONFIG_DRV_ISSUE_PROV_REQ // IOT FOR S2
|
//#define CONFIG_DRV_ISSUE_PROV_REQ // IOT FOR S2
|
||||||
#define CONFIG_SET_SCAN_DENY_TIMER
|
#define CONFIG_SET_SCAN_DENY_TIMER
|
||||||
|
|||||||
@@ -104,11 +104,14 @@ int rtw_cfg80211_set_mgnt_wpsp2pie(struct net_device *net, char *buf, int len, i
|
|||||||
bool rtw_cfg80211_pwr_mgmt(_adapter *adapter);
|
bool rtw_cfg80211_pwr_mgmt(_adapter *adapter);
|
||||||
|
|
||||||
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,4,0)) && !defined(COMPAT_KERNEL_RELEASE)
|
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,4,0)) && !defined(COMPAT_KERNEL_RELEASE)
|
||||||
#define rtw_cfg80211_rx_mgmt(adapter, freq, sig_dbm, buf, len, gfp) cfg80211_rx_mgmt((adapter)->pnetdev, freq, buf, len, gfp)
|
#define rtw_cfg80211_rx_mgmt(adapter, freq, sig_dbm, buf, len, gfp) cfg80211_rx_mgmt((adapter)->pnetdev, freq, buf, len, gfp)
|
||||||
#elif (LINUX_VERSION_CODE < KERNEL_VERSION(3,6,0))
|
#elif (LINUX_VERSION_CODE < KERNEL_VERSION(3,6,0))
|
||||||
#define rtw_cfg80211_rx_mgmt(adapter, freq, sig_dbm, buf, len, gfp) cfg80211_rx_mgmt((adapter)->pnetdev, freq, sig_dbm, buf, len, gfp)
|
#define rtw_cfg80211_rx_mgmt(adapter, freq, sig_dbm, buf, len, gfp) cfg80211_rx_mgmt((adapter)->pnetdev, freq, sig_dbm, buf, len, gfp)
|
||||||
|
#elif (LINUX_VERSION_CODE < KERNEL_VERSION(3,12,0))
|
||||||
|
#define rtw_cfg80211_rx_mgmt(adapter, freq, sig_dbm, buf, len, gfp) cfg80211_rx_mgmt((adapter)->rtw_wdev, freq, sig_dbm, buf, len, gfp)
|
||||||
#else
|
#else
|
||||||
#define rtw_cfg80211_rx_mgmt(adapter, freq, sig_dbm, buf, len, gfp) cfg80211_rx_mgmt((adapter)->rtw_wdev, freq, sig_dbm, buf, len, gfp)
|
// 3.12 added a flags argument which is just set to zero
|
||||||
|
#define rtw_cfg80211_rx_mgmt(adapter, freq, sig_dbm, buf, len, gfp) cfg80211_rx_mgmt((adapter)->rtw_wdev, freq, sig_dbm, buf, len, 0, gfp)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,4,0)) && !defined(COMPAT_KERNEL_RELEASE)
|
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,4,0)) && !defined(COMPAT_KERNEL_RELEASE)
|
||||||
|
|||||||
@@ -461,7 +461,12 @@ static int rtw_cfg80211_inform_bss(_adapter *padapter, struct wlan_network *pnet
|
|||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#if LINUX_VERSION_CODE < KERNEL_VERSION(3,9,0)
|
||||||
cfg80211_put_bss(bss);
|
cfg80211_put_bss(bss);
|
||||||
|
#else
|
||||||
|
//See 5b112d3d098c97b867cc580f590395cd1e72f18c
|
||||||
|
cfg80211_put_bss(wiphy, bss);
|
||||||
|
#endif
|
||||||
|
|
||||||
exit:
|
exit:
|
||||||
return ret;
|
return ret;
|
||||||
@@ -535,14 +540,14 @@ void rtw_cfg80211_indicate_connect(_adapter *padapter)
|
|||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
DBG_8192C("pwdev->sme_state(b)=%d\n", pwdev->sme_state);
|
//DBG_8192C("pwdev->sme_state(b)=%d\n", pwdev->sme_state);
|
||||||
cfg80211_connect_result(padapter->pnetdev, cur_network->network.MacAddress
|
cfg80211_connect_result(padapter->pnetdev, cur_network->network.MacAddress
|
||||||
, pmlmepriv->assoc_req+sizeof(struct rtw_ieee80211_hdr_3addr)+2
|
, pmlmepriv->assoc_req+sizeof(struct rtw_ieee80211_hdr_3addr)+2
|
||||||
, pmlmepriv->assoc_req_len-sizeof(struct rtw_ieee80211_hdr_3addr)-2
|
, pmlmepriv->assoc_req_len-sizeof(struct rtw_ieee80211_hdr_3addr)-2
|
||||||
, pmlmepriv->assoc_rsp+sizeof(struct rtw_ieee80211_hdr_3addr)+6
|
, pmlmepriv->assoc_rsp+sizeof(struct rtw_ieee80211_hdr_3addr)+6
|
||||||
, pmlmepriv->assoc_rsp_len-sizeof(struct rtw_ieee80211_hdr_3addr)-6
|
, pmlmepriv->assoc_rsp_len-sizeof(struct rtw_ieee80211_hdr_3addr)-6
|
||||||
, WLAN_STATUS_SUCCESS, GFP_ATOMIC);
|
, WLAN_STATUS_SUCCESS, GFP_ATOMIC);
|
||||||
DBG_8192C("pwdev->sme_state(a)=%d\n", pwdev->sme_state);
|
//DBG_8192C("pwdev->sme_state(a)=%d\n", pwdev->sme_state);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -585,17 +590,21 @@ void rtw_cfg80211_indicate_disconnect(_adapter *padapter)
|
|||||||
#endif //CONFIG_P2P
|
#endif //CONFIG_P2P
|
||||||
|
|
||||||
if (!padapter->mlmepriv.not_indic_disco) {
|
if (!padapter->mlmepriv.not_indic_disco) {
|
||||||
DBG_8192C("pwdev->sme_state(b)=%d\n", pwdev->sme_state);
|
// see ceca7b7121795ef81bd598a240d53a925662d0c1, which removed sme_state variable in 3.11
|
||||||
|
|
||||||
|
//DBG_8192C("pwdev->sme_state(b)=%d\n", pwdev->sme_state);
|
||||||
|
|
||||||
if(pwdev->sme_state==CFG80211_SME_CONNECTING)
|
#if LINUX_VERSION_CODE < KERNEL_VERSION(3,11,0)
|
||||||
cfg80211_connect_result(padapter->pnetdev, NULL, NULL, 0, NULL, 0,
|
if(pwdev->sme_state==CFG80211_SME_CONNECTING)^M
|
||||||
WLAN_STATUS_UNSPECIFIED_FAILURE, GFP_ATOMIC/*GFP_KERNEL*/);
|
cfg80211_connect_result(padapter->pnetdev, NULL, NULL, 0, NULL, 0, ^M
|
||||||
else if(pwdev->sme_state==CFG80211_SME_CONNECTED)
|
WLAN_STATUS_UNSPECIFIED_FAILURE, GFP_ATOMIC/*GFP_KERNEL*/);^M
|
||||||
cfg80211_disconnected(padapter->pnetdev, 0, NULL, 0, GFP_ATOMIC);
|
else if(pwdev->sme_state==CFG80211_SME_CONNECTED)^M
|
||||||
//else
|
cfg80211_disconnected(padapter->pnetdev, 0, NULL, 0, GFP_ATOMIC);^M
|
||||||
//DBG_8192C("pwdev->sme_state=%d\n", pwdev->sme_state);
|
#else
|
||||||
|
cfg80211_disconnected(padapter->pnetdev, 0, NULL, 0, GFP_ATOMIC);
|
||||||
|
#endif
|
||||||
|
|
||||||
DBG_8192C("pwdev->sme_state(a)=%d\n", pwdev->sme_state);
|
//DBG_8192C("pwdev->sme_state(a)=%d\n", pwdev->sme_state);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user