On 02/16/2015 01:35 AM, Alan Fisher wrote: Alan,
I looked at the routine, and it is returning true for all IPv6 packets. Does the attached patch for 3.18 or 3.19 help? Larry
Index: wireless-drivers-next/drivers/net/wireless/rtlwifi/base.c =================================================================== --- wireless-drivers-next.orig/drivers/net/wireless/rtlwifi/base.c +++ wireless-drivers-next/drivers/net/wireless/rtlwifi/base.c @@ -1347,7 +1347,7 @@ u8 rtl_is_special_data(struct ieee80211_ offset = mac_hdr_len + SNAP_SIZE + encrypt_header_len; ether_type = be16_to_cpup((__be16 *)(skb->data + offset)); - if (ETH_P_IP == ether_type) { + if (ETH_P_IP == ether_type || ETH_P_IPV6 == ether_type) { ip = (struct iphdr *)((u8 *)skb->data + offset + PROTOC_TYPE_SIZE); if (IPPROTO_UDP == ip->protocol) { @@ -1386,8 +1386,6 @@ u8 rtl_is_special_data(struct ieee80211_ } return true; - } else if (0x86DD == ether_type) { - return true; } end: