diff -u bcmwl-6.30.223.248+bdcom/debian/changelog bcmwl-6.30.223.248+bdcom/debian/changelog --- bcmwl-6.30.223.248+bdcom/debian/changelog +++ bcmwl-6.30.223.248+bdcom/debian/changelog @@ -1,3 +1,30 @@ +bcmwl (6.30.223.248+bdcom-0ubuntu0.2) trusty; urgency=medium + + [ Rafael Tinoco ] + + * Added needed patches for lts kernels (LP: #1415880) + * Fixed null pointer reference (LP: #1415880) + d/p/0019-broadcom-sta-6.30.223.248-3.18-null-pointer-fix.patch + + [ Tim Gardner ] + + * Add support for Linux 4.2 + debian/patches/0018-cfg80211_disconnected.patch + A successful 4.2 based install depends on EXPORT_SYMBOL(flush_workqueue) + which will first appear in linux (4.2.0-3.3). + + [ Simon Eisenmann ] + + * debian/dkms.conf.in + debian/patches/0016-repair-make-warnings.patch + debian/patches/0017-add-support-for-Linux-4.0.patch + - Fixed make warnings + Credit for the patch goes to Krzysztof Kolasa. + - Add support for Linux 4.0 (LP: #1424676) + Credit for the patch goes to Krzysztof Kolasa. + + -- Rafael David Tinoco Thu, 03 Sep 2015 16:29:17 -0300 + bcmwl (6.30.223.248+bdcom-0ubuntu0.1) trusty-proposed; urgency=medium * New upstream release (LP: #1397028): diff -u bcmwl-6.30.223.248+bdcom/debian/dkms.conf.in bcmwl-6.30.223.248+bdcom/debian/dkms.conf.in --- bcmwl-6.30.223.248+bdcom/debian/dkms.conf.in +++ bcmwl-6.30.223.248+bdcom/debian/dkms.conf.in @@ -15,4 +15,8 @@ PATCH[7]="0014-add-support-for-Linux-3.17.patch" PATCH[8]="0015-add-support-for-Linux-3.18.patch" +PATCH[9]="0016-repair-make-warnings.patch" +PATCH[10]="0017-add-support-for-Linux-4.0.patch" +PATCH[11]="0018-cfg80211_disconnected.patch" +PATCH[12]="0019-broadcom-sta-6.30.223.248-3.18-null-pointer-fix.patch" #PATCH_MATCH[6]="^3.[10-11]" AUTOINSTALL="yes" only in patch2: unchanged: --- bcmwl-6.30.223.248+bdcom.orig/debian/patches/0016-repair-make-warnings.patch +++ bcmwl-6.30.223.248+bdcom/debian/patches/0016-repair-make-warnings.patch @@ -0,0 +1,57 @@ +From 92fc12028553831a87cfa87ffa8d676ab0f60522 Mon Sep 17 00:00:00 2001 +From: Simon Eisenmann +Date: Sat, 14 Mar 2015 15:02:08 +0100 +Subject: [PATCH] Repair make warnings + +Orginal author: Krzysztof Kolasa +Source: https://raw.githubusercontent.com/kolasa/bcmwl-6.30.223.248/9fafc1faa6dc410bf8aba340a7929f404c73d30e/patches/0016-repair-make-warnings.patch +--- + src/wl/sys/wl_cfg80211_hybrid.c | 13 ++++++++++++- + 1 file changed, 12 insertions(+), 1 deletion(-) + +diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c +index ea0726f..b265e25 100644 +--- a/src/wl/sys/wl_cfg80211_hybrid.c ++++ b/src/wl/sys/wl_cfg80211_hybrid.c +@@ -63,8 +63,13 @@ static s32 wl_cfg80211_set_wiphy_params(struct wiphy *wiphy, u32 changed); + static s32 wl_cfg80211_join_ibss(struct wiphy *wiphy, struct net_device *dev, + struct cfg80211_ibss_params *params); + static s32 wl_cfg80211_leave_ibss(struct wiphy *wiphy, struct net_device *dev); ++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 16, 0) + static s32 wl_cfg80211_get_station(struct wiphy *wiphy, + struct net_device *dev, u8 *mac, struct station_info *sinfo); ++#else ++static s32 wl_cfg80211_get_station(struct wiphy *wiphy, ++ struct net_device *dev, const u8 *mac, struct station_info *sinfo); ++#endif + static s32 wl_cfg80211_set_power_mgmt(struct wiphy *wiphy, + struct net_device *dev, bool enabled, s32 timeout); + static int wl_cfg80211_connect(struct wiphy *wiphy, struct net_device *dev, +@@ -1387,7 +1392,7 @@ wl_cfg80211_get_key(struct wiphy *wiphy, struct net_device *dev, + key_endian_to_host(&key); + + params.key_len = (u8) min_t(u8, DOT11_MAX_KEY_SIZE, key.len); +- memcpy(params.key, key.data, params.key_len); ++ memcpy((char *)params.key, key.data, params.key_len); + + if ((err = wl_dev_ioctl(dev, WLC_GET_WSEC, &wsec, sizeof(wsec)))) { + return err; +@@ -1421,9 +1426,15 @@ wl_cfg80211_get_key(struct wiphy *wiphy, struct net_device *dev, + return err; + } + ++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 16, 0) + static s32 + wl_cfg80211_get_station(struct wiphy *wiphy, struct net_device *dev, + u8 *mac, struct station_info *sinfo) ++#else ++static s32 ++wl_cfg80211_get_station(struct wiphy *wiphy, struct net_device *dev, ++ const u8 *mac, struct station_info *sinfo) ++#endif + { + struct wl_cfg80211_priv *wl = wiphy_to_wl(wiphy); + scb_val_t scb_val; +-- +2.1.0 + only in patch2: unchanged: --- bcmwl-6.30.223.248+bdcom.orig/debian/patches/0017-add-support-for-Linux-4.0.patch +++ bcmwl-6.30.223.248+bdcom/debian/patches/0017-add-support-for-Linux-4.0.patch @@ -0,0 +1,40 @@ +From a97b0a39f016589e38706d7d32f902847dcbbf27 Mon Sep 17 00:00:00 2001 +From: Simon Eisenmann +Date: Sat, 14 Mar 2015 15:10:48 +0100 +Subject: [PATCH] Add support for Linux 4.0 + +--- + src/wl/sys/wl_cfg80211_hybrid.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c +index b265e25..425c7c5 100644 +--- a/src/wl/sys/wl_cfg80211_hybrid.c ++++ b/src/wl/sys/wl_cfg80211_hybrid.c +@@ -1452,7 +1452,11 @@ wl_cfg80211_get_station(struct wiphy *wiphy, struct net_device *dev, + WL_DBG(("Could not get rate (%d)\n", err)); + } else { + rate = dtoh32(rate); ++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 0, 0) + sinfo->filled |= STATION_INFO_TX_BITRATE; ++#else ++ sinfo->filled |= BIT(NL80211_STA_INFO_TX_BITRATE); ++#endif + sinfo->txrate.legacy = rate * 5; + WL_DBG(("Rate %d Mbps\n", (rate / 2))); + } +@@ -1465,7 +1469,11 @@ wl_cfg80211_get_station(struct wiphy *wiphy, struct net_device *dev, + return err; + } + rssi = dtoh32(scb_val.val); ++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 0, 0) + sinfo->filled |= STATION_INFO_SIGNAL; ++#else ++ sinfo->filled |= BIT(NL80211_STA_INFO_SIGNAL); ++#endif + sinfo->signal = rssi; + WL_DBG(("RSSI %d dBm\n", rssi)); + } +-- +2.1.0 + only in patch2: unchanged: --- bcmwl-6.30.223.248+bdcom.orig/debian/patches/0018-cfg80211_disconnected.patch +++ bcmwl-6.30.223.248+bdcom/debian/patches/0018-cfg80211_disconnected.patch @@ -0,0 +1,29 @@ +From b14ac6e4b871b5e15f63389ba63d1fc23a54c58b Mon Sep 17 00:00:00 2001 +From: Tim Gardner +Date: Tue, 4 Aug 2015 09:02:10 -0600 +Subject: [PATCH] cfg80211_disconnected + +Signed-off-by: Tim Gardner +--- + bcmwl-6.30.223.248+bdcom/src/src/wl/sys/wl_cfg80211_hybrid.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c +index ea0726f..0131f01 100644 +--- a/src/wl/sys/wl_cfg80211_hybrid.c ++++ b/src/wl/sys/wl_cfg80211_hybrid.c +@@ -2047,7 +2047,11 @@ wl_notify_connect_status(struct wl_cfg80211_priv *wl, struct net_device *ndev, + } + 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, GFP_KERNEL); ++#else ++ cfg80211_disconnected(ndev, 0, NULL, 0, false, GFP_KERNEL); ++#endif + clear_bit(WL_STATUS_CONNECTED, &wl->status); + wl_link_down(wl); + wl_init_prof(wl->profile); +-- +2.5.0 + only in patch2: unchanged: --- bcmwl-6.30.223.248+bdcom.orig/debian/patches/0019-broadcom-sta-6.30.223.248-3.18-null-pointer-fix.patch +++ bcmwl-6.30.223.248+bdcom/debian/patches/0019-broadcom-sta-6.30.223.248-3.18-null-pointer-fix.patch @@ -0,0 +1,27 @@ +Description: Fixing null pointer crash + +Origin: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=773713 +Bug-Ubuntu: https://launchpad.net/bugs/1415880 +Last-Update: 2015-08-18 + +--- + src/wl/sys/wl_linux.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c +index 860b935..295156f 100644 +--- a/src/wl/sys/wl_linux.c ++++ b/src/wl/sys/wl_linux.c +@@ -2157,8 +2157,8 @@ wl_start(struct sk_buff *skb, struct net_device *dev) + wlif = WL_DEV_IF(dev); + wl = WL_INFO(dev); + ++ skb->prev = NULL; + if (WL_ALL_PASSIVE_ENAB(wl) || (WL_RTR() && WL_CONFIG_SMP())) { +- skb->prev = NULL; + + TXQ_LOCK(wl); + +-- +1.9.1 +