Package: broadcom-sta-dkms
Version: 6.30.223.271

It cannot build wl module with kernel 4.9 / kernel 4.6 is already out of
official support /
The root cause of the bug is change in kernel 4.9 headers:
IEEE80211_BAND_5GHZ, IEEE80211_BAND_2GHZ, have been removed and is using
only NL80211_BAND_2GHZ,NL80211_BAND_5GHZ instead,

Please produce updated package for debian, this simple patch fix the issue:

--- src/wl/sys/wl_cfg80211_hybrid.c    2015-09-19 01:47:30.000000000 +0300
+++ src-mod/wl/sys/wl_cfg80211_hybrid.c    2017-03-11 07:19:33.627697948
+0200
@@ -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;

Reply via email to