aboutsummaryrefslogtreecommitdiff
path: root/network
diff options
context:
space:
mode:
authorRobby Workman <rworkman@slackbuilds.org>2011-03-09 12:38:55 -0600
committerRobby Workman <rworkman@slackbuilds.org>2011-03-20 14:08:07 -0500
commit40bff32947b78638eb9bad140d533ee8f067f04e (patch)
tree0ec2520977476ccace87fb1dad2cf6fd878efd6e /network
parent21cbd209c6bda1507a527c0908b18ef909e2899f (diff)
network/broadcom-sta: Fixed build with 2.6.37.x kernels
http://bugs.gentoo.org/350196 Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
Diffstat (limited to 'network')
-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 f9fc7e57d9847..c6e96516b59eb 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 0000000000000..8cdd7306f475c
--- /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,