author | Rongjun Chen <rongjun.chen@amlogic.com> | 2017-12-15 08:03:43 (GMT) |
---|---|---|
committer | Rongjun Chen <rongjun.chen@amlogic.com> | 2017-12-15 08:07:17 (GMT) |
commit | cc79735f1fbbada15f945e636cba98b1982675c5 (patch) | |
tree | 02b6e35da5f73c4ed3b013e30221079249b507e5 | |
parent | 538ba5888b5eb14e138a9ecb50de4ea2cbebc73e (diff) | |
download | 8189ftv-o-amlogic.zip 8189ftv-o-amlogic.tar.gz 8189ftv-o-amlogic.tar.bz2 |
wifi: update rtl8189ftv driver to support kernel4.9
Change-Id: I2f54fc59db75e2c25c1ae71ddfa84aef578848da
Signed-off-by: Rongjun Chen <rongjun.chen@amlogic.com>
-rwxr-xr-x | rtl8189FS/include/drv_types.h | 6 | ||||
-rwxr-xr-x | rtl8189FS/os_dep/linux/ioctl_cfg80211.c | 23 |
2 files changed, 27 insertions, 2 deletions
diff --git a/rtl8189FS/include/drv_types.h b/rtl8189FS/include/drv_types.h index c6f3614..27907e7 100755 --- a/rtl8189FS/include/drv_types.h +++ b/rtl8189FS/include/drv_types.h @@ -84,6 +84,12 @@ typedef struct _ADAPTER _adapter, ADAPTER,*PADAPTER; #include <xmit_osdep.h> #include <rtw_recv.h> +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0)) +#define ieee80211_band nl80211_band +#define IEEE80211_BAND_2GHZ NL80211_BAND_2GHZ +#define IEEE80211_BAND_5GHZ NL80211_BAND_5GHZ +#define IEEE80211_NUM_BANDS NUM_NL80211_BANDS +#endif #ifdef CONFIG_BEAMFORMING #include <rtw_beamforming.h> #endif diff --git a/rtl8189FS/os_dep/linux/ioctl_cfg80211.c b/rtl8189FS/os_dep/linux/ioctl_cfg80211.c index 0ad9242..eaae714 100755 --- a/rtl8189FS/os_dep/linux/ioctl_cfg80211.c +++ b/rtl8189FS/os_dep/linux/ioctl_cfg80211.c @@ -891,8 +891,14 @@ void rtw_cfg80211_indicate_disconnect(_adapter *padapter) #else
if (check_fwstate(&padapter->mlmepriv, _FW_LINKED)) {
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0))
+ u8 locally_generated = 1;
+ DBG_871X(FUNC_ADPT_FMT" call cfg80211_disconnected\n", FUNC_ADPT_ARG(padapter));
+ cfg80211_disconnected(padapter->pnetdev, 0, NULL, 0, locally_generated, GFP_ATOMIC);
+#else
DBG_871X(FUNC_ADPT_FMT" call cfg80211_disconnected\n", FUNC_ADPT_ARG(padapter));
cfg80211_disconnected(padapter->pnetdev, 0, NULL, 0, GFP_ATOMIC);
+#endif
} else {
DBG_871X(FUNC_ADPT_FMT" call cfg80211_connect_result\n", FUNC_ADPT_ARG(padapter));
cfg80211_connect_result(padapter->pnetdev, NULL, NULL, 0, NULL, 0,
@@ -2034,7 +2040,9 @@ void rtw_cfg80211_indicate_scan_done(_adapter *adapter, bool aborted) {
struct rtw_wdev_priv *pwdev_priv = adapter_wdev_data(adapter);
_irqL irqL;
-
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0))
+ struct cfg80211_scan_info info;
+#endif
_enter_critical_bh(&pwdev_priv->scan_req_lock, &irqL);
if (pwdev_priv->scan_request != NULL) {
#ifdef CONFIG_DEBUG_CFG80211
@@ -2048,7 +2056,12 @@ void rtw_cfg80211_indicate_scan_done(_adapter *adapter, bool aborted) }
else
{
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0))
+ info.aborted = aborted;
+ cfg80211_scan_done(pwdev_priv->scan_request, &info);
+#else
cfg80211_scan_done(pwdev_priv->scan_request, aborted);
+#endif
}
pwdev_priv->scan_request = NULL;
@@ -6865,7 +6878,13 @@ void rtw_wdev_unregister(struct wireless_dev *wdev) rtw_cfg80211_indicate_scan_done(adapter, _TRUE);
- #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 11, 0)) || defined(COMPAT_KERNEL_RELEASE)
+ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0))
+ if (wdev->current_bss) {
+ u8 locally_generated = 1;
+ DBG_871X(FUNC_ADPT_FMT" clear current_bss by cfg80211_disconnected\n", FUNC_ADPT_ARG(adapter));
+ cfg80211_disconnected(adapter->pnetdev, 0, NULL, 0, locally_generated, GFP_ATOMIC);
+ }
+ #elif ((LINUX_VERSION_CODE >= KERNEL_VERSION(3, 11, 0)) && (LINUX_VERSION_CODE < KERNEL_VERSION(4, 2, 0))) || defined(COMPAT_KERNEL_RELEASE) if (wdev->current_bss) {
DBG_871X(FUNC_ADPT_FMT" clear current_bss by cfg80211_disconnected\n", FUNC_ADPT_ARG(adapter));
cfg80211_disconnected(adapter->pnetdev, 0, NULL, 0, GFP_ATOMIC);
|