diff --git a/README.md b/README.md index 35c8c34..dd7bf2f 100644 --- a/README.md +++ b/README.md @@ -65,9 +65,7 @@ unmanaged-devices=mac:A7:A7:A7:A7:A7 * There is a bug in monitor mode related to Network-Manager. This needs priority because it causes interferrence. - -* pcap_activate error on "reaver" - investigate -* Add/upload the documentation + * Add more VID/PIDS for all 3 chipsets supported. * Remove unused functions
diff --git a/core/rtw_mlme_ext.c b/core/rtw_mlme_ext.c index 29a4cb8..68dc9d2 100644 --- a/core/rtw_mlme_ext.c +++ b/core/rtw_mlme_ext.c @@ -8999,12 +8999,11 @@ void issue_auth(_adapter *padapter, struct sta_info *psta, unsigned short status /* setting auth algo number */ val16 = (u16)psta->authalg; - if (status != _STATS_SUCCESSFUL_) - val16 = 0; - if (val16) { val16 = cpu_to_le16(val16); use_shared_key = 1; + } else { + val16 = 0; } pframe = rtw_set_fixed_ie(pframe, _AUTH_ALGM_NUM_, (unsigned char *)&val16, &(pattrib->pktlen)); diff --git a/core/rtw_sta_mgt.c b/core/rtw_sta_mgt.c index 69d63b0..3a79e09 100644 --- a/core/rtw_sta_mgt.c +++ b/core/rtw_sta_mgt.c @@ -775,8 +775,8 @@ u32 rtw_free_stainfo(_adapter *padapter , struct sta_info *psta) pstapriv->sta_aid[psta->cmn.aid - 1] = NULL; psta->cmn.aid = 0; } - if (psta->aid > 31) { - pr_err("***** psta->aid (%d) out of bounds\n", psta->aid); + if (psta->cmn.aid > 31) { + pr_err("***** psta->aid (%d) out of bounds\n", psta->cmn.aid); return _FAIL; } } diff --git a/dkms.conf b/dkms.conf index f6ad8ee..bbf7e55 100644 --- a/dkms.conf +++ b/dkms.conf @@ -1,5 +1,5 @@ PACKAGE_NAME="realtek-rtl8188eus" -PACKAGE_VERSION="5.3.9~20190215" +PACKAGE_VERSION="5.3.9~20190523" CLEAN="'make' clean" BUILT_MODULE_NAME[0]=8188eu PROCS_NUM=`nproc` diff --git a/os_dep/linux/os_intfs.c b/os_dep/linux/os_intfs.c index b93a8e7..f5a124c 100644 --- a/os_dep/linux/os_intfs.c +++ b/os_dep/linux/os_intfs.c @@ -1289,26 +1289,27 @@ unsigned int rtw_classify8021d(struct sk_buff *skb) } -static u16 rtw_select_queue(struct net_device *dev, struct sk_buff *skb -#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 13, 0) - #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 19, 0) - , void *accel_priv - #else - , struct net_device *sb_dev - #endif - #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 14, 0) - , select_queue_fallback_t fallback - #endif +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 2, 0)) +static u16 rtw_select_queue(struct net_device *dev, struct sk_buff *skb, + struct net_device *sb_dev) +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 19, 0)) +static u16 rtw_select_queue(struct net_device *dev, struct sk_buff *skb, + struct net_device *sb_dev, + select_queue_fallback_t fallback) +#else +static u16 rtw_select_queue(struct net_device *dev, struct sk_buff *skb, + void *accel_priv, select_queue_fallback_t fallback) #endif -) { _adapter *padapter = rtw_netdev_priv(dev); struct mlme_priv *pmlmepriv = &padapter->mlmepriv; skb->priority = rtw_classify8021d(skb); - if (pmlmepriv->acm_mask != 0) + if(pmlmepriv->acm_mask != 0) + { skb->priority = qos_acm(pmlmepriv->acm_mask, skb->priority); + } return rtw_1d_to_queue[skb->priority]; } @@ -1676,10 +1677,6 @@ void rtw_os_ndev_unregister(_adapter *adapter) #endif if ((adapter->DriverState != DRIVER_DISAPPEAR) && netdev) { -#ifdef CONFIG_IOCTL_CFG80211 - struct wireless_dev *wdev = padapter->rtw_wdev; - wdev->current_bss = NULL; -#endif struct dvobj_priv *dvobj = adapter_to_dvobj(adapter); u8 rtnl_lock_needed = rtw_rtnl_lock_needed(dvobj); @@ -3557,11 +3554,11 @@ static int netdev_close(struct net_device *pnetdev) #endif /* CONFIG_P2P */ #ifdef CONFIG_IOCTL_CFG80211 - wdev->iftype = NL80211_IFTYPE_STATION; + //wdev->iftype = NL80211_IFTYPE_STATION; rtw_scan_abort(padapter); rtw_cfg80211_wait_scan_req_empty(padapter, 200); adapter_wdev_data(padapter)->bandroid_scan = _FALSE; - padapter->rtw_wdev->iftype = NL80211_IFTYPE_STATION; /* set this at the end */ + //padapter->rtw_wdev->iftype = NL80211_IFTYPE_STATION; /* set this at the end */ #endif /* CONFIG_IOCTL_CFG80211 */ #ifdef CONFIG_WAPI_SUPPORT diff --git a/os_dep/osdep_service.c b/os_dep/osdep_service.c index ce7086c..e5323f1 100644 --- a/os_dep/osdep_service.c +++ b/os_dep/osdep_service.c @@ -2147,7 +2147,7 @@ static int isFileReadable(const char *path, u32 *sz) ret = PTR_ERR(fp); else { oldfs = get_fs(); - set_fs(get_ds()); + set_fs(KERNEL_DS); if (1 != readFile(fp, &buf, 1)) ret = PTR_ERR(fp); @@ -2185,7 +2185,7 @@ static int retriveFromFile(const char *path, u8 *buf, u32 sz) RTW_INFO("%s openFile path:%s fp=%p\n", __FUNCTION__, path , fp); oldfs = get_fs(); - set_fs(get_ds()); + set_fs(KERNEL_DS); ret = readFile(fp, buf, sz); set_fs(oldfs); closeFile(fp); @@ -2220,7 +2220,7 @@ static int storeToFile(const char *path, u8 *buf, u32 sz) RTW_INFO("%s openFile path:%s fp=%p\n", __FUNCTION__, path , fp); oldfs = get_fs(); - set_fs(get_ds()); + set_fs(KERNEL_DS); ret = writeFile(fp, buf, sz); set_fs(oldfs); closeFile(fp);