broadcom-sta: fix build on kernel >= 4.2 (close #9953)

Also cherry-pick a licensing fix from torvalds/linux@7d3e2eb178
necessary for building broadcom-sta on kernel 4.2.

For more details, see:
https://github.com/longsleep/bcmwl-ubuntu/issues/6

Fixes #9948.
This commit is contained in:
Charles Strahan
2015-09-20 08:01:37 +02:00
committed by Vladimír Čunát
parent 222f5454a0
commit f08fb6e6c7
3 changed files with 35 additions and 2 deletions
@@ -79,7 +79,19 @@
if (unlikely(!cbss))
return -ENOMEM;
@@ -2071,7 +2096,26 @@
@@ -2047,7 +2072,11 @@
}
else if ((event == WLC_E_LINK && ~(flags & WLC_EVENT_MSG_LINK)) ||
event == WLC_E_DEAUTH_IND || event == WLC_E_DISASSOC_IND) {
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0)
+ cfg80211_disconnected(ndev, 0, NULL, 0, false, GFP_KERNEL);
+#else
cfg80211_disconnected(ndev, 0, NULL, 0, GFP_KERNEL);
+#endif
clear_bit(WL_STATUS_CONNECTED, &wl->status);
wl_link_down(wl);
wl_init_prof(wl->profile);
@@ -2071,7 +2100,26 @@
wl_get_assoc_ies(wl);
memcpy(&wl->bssid, &e->addr, ETHER_ADDR_LEN);
wl_update_bss_info(wl);
@@ -106,7 +118,7 @@
set_bit(WL_STATUS_CONNECTED, &wl->status);
wl->profile->active = true;
}
@@ -2629,7 +2673,15 @@
@@ -2629,7 +2677,15 @@
void wl_cfg80211_detach(struct net_device *ndev)
{