diff --git a/os_dep/linux/ioctl_cfg80211.c b/os_dep/linux/ioctl_cfg80211.c index 83e0fe9..153f800 100755 --- a/os_dep/linux/ioctl_cfg80211.c +++ b/os_dep/linux/ioctl_cfg80211.c @@ -371,7 +371,7 @@ static void rtw_get_chbw_from_cfg80211_chan_def(struct cfg80211_chan_def *chdef, rtw_warn_on(1); *ch = 0; return; - } + } switch (chdef->width) { case NL80211_CHAN_WIDTH_20_NOHT: @@ -1023,8 +1023,10 @@ void rtw_cfg80211_ibss_indicate_connect(_adapter *padapter) return ; } } else { - if (scanned == NULL) + if (scanned == NULL) { rtw_warn_on(1); + return; + } if (_rtw_memcmp(&(scanned->network.Ssid), &(pnetwork->Ssid), sizeof(NDIS_802_11_SSID)) == _TRUE && _rtw_memcmp(scanned->network.MacAddress, pnetwork->MacAddress, sizeof(NDIS_802_11_MAC_ADDRESS)) == _TRUE @@ -1288,7 +1290,7 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, struct ieee_pa if (is_broadcast_mac_addr(param->sta_addr)) { if (param->u.crypt.idx >= WEP_KEYS #ifdef CONFIG_IEEE80211W - && param->u.crypt.idx > BIP_MAX_KEYID + || param->u.crypt.idx > BIP_MAX_KEYID #endif ) { ret = -EINVAL; @@ -1542,7 +1544,7 @@ static int rtw_cfg80211_set_encryption(struct net_device *dev, struct ieee_param if (is_broadcast_mac_addr(param->sta_addr)) { if (param->u.crypt.idx >= WEP_KEYS #ifdef CONFIG_IEEE80211W - && param->u.crypt.idx > BIP_MAX_KEYID + || param->u.crypt.idx > BIP_MAX_KEYID #endif ) { ret = -EINVAL; @@ -4588,8 +4590,10 @@ static int rtw_cfg80211_monitor_if_xmit_entry(struct sk_buff *skb, struct net_de RTW_INFO(FUNC_NDEV_FMT"\n", FUNC_NDEV_ARG(ndev)); - if (skb) - rtw_mstat_update(MSTAT_TYPE_SKB, MSTAT_ALLOC_SUCCESS, skb->truesize); + if (!skb) + goto fail; + + rtw_mstat_update(MSTAT_TYPE_SKB, MSTAT_ALLOC_SUCCESS, skb->truesize); if (IS_CH_WAITING(rfctl)) { #ifdef CONFIG_DFS_MASTER diff --git a/os_dep/linux/os_intfs.c b/os_dep/linux/os_intfs.c index cf17d62..14d11a0 100644 --- a/os_dep/linux/os_intfs.c +++ b/os_dep/linux/os_intfs.c @@ -3966,7 +3966,9 @@ void rtw_ndev_destructor(struct net_device *ndev) if (ndev->ieee80211_ptr) rtw_mfree((u8 *)ndev->ieee80211_ptr, sizeof(struct wireless_dev)); #endif +#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 11, 9)) free_netdev(ndev); +#endif } #ifdef CONFIG_ARP_KEEP_ALIVE