Since Linux 4.7, the enum ieee80211_band is no longer used This shall cause no problem's since both enums ieee80211_band and nl80211_band were added in the same commit: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=13ae75b103e07304a34ab40c9136e9f53e06475c This patch refactors the references of IEEE80211_BAND_* to NL80211_BAND_* Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=57fbcce37be7c1d2622b56587c10ade00e96afa3 --- a/src/wl/sys/wl_cfg80211_hybrid.c 2016-06-13 11:57:36.159340297 -0500 +++ b/src/wl/sys/wl_cfg80211_hybrid.c 2016-06-13 11:58:18.442323435 -0500 @@ -236,7 +236,7 @@ #endif #define CHAN2G(_channel, _freq, _flags) { \ - .band = IEEE80211_BAND_2GHZ, \ + .band = NL80211_BAND_2GHZ, \ .center_freq = (_freq), \ .hw_value = (_channel), \ .flags = (_flags), \ @@ -245,7 +245,7 @@ } #define CHAN5G(_channel, _flags) { \ - .band = IEEE80211_BAND_5GHZ, \ + .band = NL80211_BAND_5GHZ, \ .center_freq = 5000 + (5 * (_channel)), \ .hw_value = (_channel), \ .flags = (_flags), \ @@ -379,7 +379,7 @@ }; static struct ieee80211_supported_band __wl_band_2ghz = { - .band = IEEE80211_BAND_2GHZ, + .band = NL80211_BAND_2GHZ, .channels = __wl_2ghz_channels, .n_channels = ARRAY_SIZE(__wl_2ghz_channels), .bitrates = wl_g_rates, @@ -387,7 +387,7 @@ }; static struct ieee80211_supported_band __wl_band_5ghz_a = { - .band = IEEE80211_BAND_5GHZ, + .band = NL80211_BAND_5GHZ, .channels = __wl_5ghz_a_channels, .n_channels = ARRAY_SIZE(__wl_5ghz_a_channels), .bitrates = wl_a_rates, @@ -395,7 +395,7 @@ }; static struct ieee80211_supported_band __wl_band_5ghz_n = { - .band = IEEE80211_BAND_5GHZ, + .band = NL80211_BAND_5GHZ, .channels = __wl_5ghz_n_channels, .n_channels = ARRAY_SIZE(__wl_5ghz_n_channels), .bitrates = wl_a_rates, @@ -1876,8 +1876,8 @@ wdev->wiphy->max_num_pmkids = WL_NUM_PMKIDS_MAX; #endif wdev->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) | BIT(NL80211_IFTYPE_ADHOC); - wdev->wiphy->bands[IEEE80211_BAND_2GHZ] = &__wl_band_2ghz; - wdev->wiphy->bands[IEEE80211_BAND_5GHZ] = &__wl_band_5ghz_a; + wdev->wiphy->bands[NL80211_BAND_2GHZ] = &__wl_band_2ghz; + wdev->wiphy->bands[NL80211_BAND_5GHZ] = &__wl_band_5ghz_a; wdev->wiphy->signal_type = CFG80211_SIGNAL_TYPE_MBM; wdev->wiphy->cipher_suites = __wl_cipher_suites; wdev->wiphy->n_cipher_suites = ARRAY_SIZE(__wl_cipher_suites); @@ -2000,7 +2000,7 @@ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 39) freq = ieee80211_channel_to_frequency(notif_bss_info->channel, (notif_bss_info->channel <= CH_MAX_2G_CHANNEL) ? - IEEE80211_BAND_2GHZ : IEEE80211_BAND_5GHZ); + NL80211_BAND_2GHZ : NL80211_BAND_5GHZ); #else freq = ieee80211_channel_to_frequency(notif_bss_info->channel); #endif @@ -2116,7 +2116,7 @@ return err; } chan = wf_chspec_ctlchan(chanspec); - band = (chan <= CH_MAX_2G_CHANNEL) ? IEEE80211_BAND_2GHZ : IEEE80211_BAND_5GHZ; + band = (chan <= CH_MAX_2G_CHANNEL) ? NL80211_BAND_2GHZ : NL80211_BAND_5GHZ; freq = ieee80211_channel_to_frequency(chan, band); channel = ieee80211_get_channel(wiphy, freq); cfg80211_ibss_joined(ndev, (u8 *)&wl->bssid, channel, GFP_KERNEL); @@ -2250,10 +2250,10 @@ join_params->params.chanspec_list[0] = ieee80211_frequency_to_channel(chan->center_freq); - if (chan->band == IEEE80211_BAND_2GHZ) { + if (chan->band == NL80211_BAND_2GHZ) { chanspec |= WL_CHANSPEC_BAND_2G; } - else if (chan->band == IEEE80211_BAND_5GHZ) { + else if (chan->band == NL80211_BAND_5GHZ) { chanspec |= WL_CHANSPEC_BAND_5G; } else { @@ -2885,7 +2885,7 @@ if (phy == 'n' || phy == 'a' || phy == 'v') { wiphy = wl_to_wiphy(wl); - wiphy->bands[IEEE80211_BAND_5GHZ] = &__wl_band_5ghz_n; + wiphy->bands[NL80211_BAND_5GHZ] = &__wl_band_5ghz_n; } return err;