summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
author Robby Workman2011-03-09 19:38:55 +0100
committer Robby Workman2011-03-14 23:44:42 +0100
commitdf079f7b51bb06cf24d1bdabd575660903a5dfcb (patch)
tree73ab9de13a02994e666135943f41ae4075b4cae5
parentce8ac4989768107c52ed58636e42c187b780b0d3 (diff)
downloadslackbuilds-df079f7b51bb06cf24d1bdabd575660903a5dfcb.tar.gz
network/broadcom-sta: Fixed build with 2.6.37.x kernels
http://bugs.gentoo.org/350196 Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
-rw-r--r--network/broadcom-sta/broadcom-sta.SlackBuild5
-rw-r--r--network/broadcom-sta/wl_linux.c-semaphore.patch12
2 files changed, 16 insertions, 1 deletions
diff --git a/network/broadcom-sta/broadcom-sta.SlackBuild b/network/broadcom-sta/broadcom-sta.SlackBuild
index f9fc7e57d9..c6e96516b5 100644
--- a/network/broadcom-sta/broadcom-sta.SlackBuild
+++ b/network/broadcom-sta/broadcom-sta.SlackBuild
@@ -5,7 +5,7 @@
PRGNAM=broadcom-sta
VERSION=5.100.82.38
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
KERNEL=${KERNEL:-$(uname -r)}
@@ -42,6 +42,9 @@ mkdir -p $TMP $WORKDIR $PKG $OUTPUT
cd $WORKDIR
tar xvf $CWD/hybrid-portsrc_${MY_ARCH}-v$(printf $VERSION|tr . _).tar.gz
+# Fix API change in newer kernels
+patch -p1 < $CWD/wl_linux.c-semaphore.patch
+
# Build the module
make -C /lib/modules/$KERNEL/build M=$WORKDIR clean
make -C /lib/modules/$KERNEL/build M=$WORKDIR
diff --git a/network/broadcom-sta/wl_linux.c-semaphore.patch b/network/broadcom-sta/wl_linux.c-semaphore.patch
new file mode 100644
index 0000000000..8cdd7306f4
--- /dev/null
+++ b/network/broadcom-sta/wl_linux.c-semaphore.patch
@@ -0,0 +1,12 @@
+diff -Nur orig//src/wl/sys/wl_linux.c fixed/src/wl/sys/wl_linux.c
+--- orig//src/wl/sys/wl_linux.c 2010-12-14 19:58:07.000000000 -0600
++++ fixed/src/wl/sys/wl_linux.c 2011-03-09 12:32:47.236260917 -0600
+@@ -482,7 +482,7 @@
+ #ifdef WL_ALL_PASSIVE
+ spin_lock_init(&wl->txq_lock);
+ #endif
+- init_MUTEX(&wl->sem);
++ sema_init(&wl->sem,1);
+ }
+
+ if (!(wl->wlc = wlc_attach((void *) wl, vendor, device, unit, wl->piomode,