mirror of
https://github.com/abperiasamy/rtl8812AU_8821AU_linux.git
synced 2025-08-16 08:34:15 +02:00
Update cfg80211 support to work with kernel up to 3.13. Also enable cfg80211 for AP mode
This commit is contained in:
parent
f1008f6d87
commit
b22cbdf3b9
@ -40,7 +40,7 @@
|
||||
#define PLATFORM_LINUX 1
|
||||
|
||||
|
||||
//#define CONFIG_IOCTL_CFG80211 1
|
||||
#define CONFIG_IOCTL_CFG80211 1
|
||||
|
||||
#ifdef CONFIG_PLATFORM_ARM_SUNxI
|
||||
#ifndef CONFIG_IOCTL_CFG80211
|
||||
@ -49,8 +49,8 @@
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_IOCTL_CFG80211
|
||||
//#define RTW_USE_CFG80211_STA_EVENT /* Indecate new sta asoc through cfg80211_new_sta */
|
||||
#define CONFIG_CFG80211_FORCE_COMPATIBLE_2_6_37_UNDER
|
||||
#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_DEBUG_CFG80211
|
||||
//#define CONFIG_DRV_ISSUE_PROV_REQ // IOT FOR S2
|
||||
#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);
|
||||
|
||||
#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))
|
||||
#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
|
||||
#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
|
||||
|
||||
#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);
|
||||
#else
|
||||
//See 5b112d3d098c97b867cc580f590395cd1e72f18c
|
||||
cfg80211_put_bss(wiphy, bss);
|
||||
#endif
|
||||
|
||||
exit:
|
||||
return ret;
|
||||
@ -535,14 +540,14 @@ void rtw_cfg80211_indicate_connect(_adapter *padapter)
|
||||
else
|
||||
#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
|
||||
, pmlmepriv->assoc_req+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_len-sizeof(struct rtw_ieee80211_hdr_3addr)-6
|
||||
, 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
|
||||
|
||||
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)
|
||||
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)
|
||||
cfg80211_disconnected(padapter->pnetdev, 0, NULL, 0, GFP_ATOMIC);
|
||||
//else
|
||||
//DBG_8192C("pwdev->sme_state=%d\n", pwdev->sme_state);
|
||||
#if LINUX_VERSION_CODE < KERNEL_VERSION(3,11,0)
|
||||
if(pwdev->sme_state==CFG80211_SME_CONNECTING)^M
|
||||
cfg80211_connect_result(padapter->pnetdev, NULL, NULL, 0, NULL, 0, ^M
|
||||
WLAN_STATUS_UNSPECIFIED_FAILURE, GFP_ATOMIC/*GFP_KERNEL*/);^M
|
||||
else if(pwdev->sme_state==CFG80211_SME_CONNECTED)^M
|
||||
cfg80211_disconnected(padapter->pnetdev, 0, NULL, 0, GFP_ATOMIC);^M
|
||||
#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);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user