--- src/wl/sys/wl_linux.c.orig 2014-06-26 03:42:08.000000000 -0700 +++ src/wl/sys/wl_linux.c 2015-07-29 06:37:51.000000000 -0700 @@ -1307,7 +1307,11 @@ dev->priv = priv_link; #else +#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 17, 0)) dev = alloc_netdev(sizeof(priv_link_t), intf_name, ether_setup); +#else + dev = alloc_netdev(sizeof(priv_link_t), intf_name, NET_NAME_UNKNOWN, ether_setup); +#endif if (!dev) { WL_ERROR(("wl%d: %s: alloc_netdev failed\n", (wl->pub)?wl->pub->unit:wlif->subunit, __FUNCTION__)); --- src/wl/sys/wl_cfg80211_hybrid.c.orig 2014-06-26 03:42:08.000000000 -0700 +++ src/wl/sys/wl_cfg80211_hybrid.c 2015-07-29 07:03:39.000000000 -0700 @@ -2010,9 +2010,15 @@ notify_ie = (u8 *)bi + le16_to_cpu(bi->ie_offset); notify_ielen = le32_to_cpu(bi->ie_length); +#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 18, 0)) cbss = cfg80211_inform_bss(wiphy, channel, (const u8 *)(bi->BSSID.octet), 0, beacon_proberesp->capab_info, beacon_proberesp->beacon_int, (const u8 *)notify_ie, notify_ielen, signal, GFP_KERNEL); +#else + cbss = cfg80211_inform_bss(wiphy, channel, CFG80211_BSS_FTYPE_UNKNOWN, (const u8 *)(bi->BSSID.octet), + 0, beacon_proberesp->capab_info, beacon_proberesp->beacon_int, + (const u8 *)notify_ie, notify_ielen, signal, GFP_KERNEL); +#endif if (unlikely(!cbss)) return -ENOMEM; @@ -2071,7 +2077,12 @@ wl_get_assoc_ies(wl); memcpy(&wl->bssid, &e->addr, ETHER_ADDR_LEN); wl_update_bss_info(wl); +#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 15, 0)) cfg80211_ibss_joined(ndev, (u8 *)&wl->bssid, GFP_KERNEL); +#else + cfg80211_ibss_joined(ndev, (u8 *)&wl->bssid, + &wl->conf->channel, GFP_KERNEL); +#endif set_bit(WL_STATUS_CONNECTED, &wl->status); wl->profile->active = true; }