summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatsuu Takuto <matsuu@gentoo.org>2010-06-05 00:42:33 +0000
committerMatsuu Takuto <matsuu@gentoo.org>2010-06-05 00:42:33 +0000
commitf614f4af6370182cd7c9a835e2e8f4492f1c785f (patch)
treec7a94ea74018625fe07b25e18e3431a32ac34103 /net-wireless/broadcom-sta/files
parentVersion bump (diff)
downloadgentoo-2-f614f4af6370182cd7c9a835e2e8f4492f1c785f.tar.gz
gentoo-2-f614f4af6370182cd7c9a835e2e8f4492f1c785f.tar.bz2
gentoo-2-f614f4af6370182cd7c9a835e2e8f4492f1c785f.zip
Fixed to work with 2.6.35, bug #248450. Removed unneeded patch, bug #304797.
(Portage version: 2.1.8.3/cvs/Linux x86_64)
Diffstat (limited to 'net-wireless/broadcom-sta/files')
-rw-r--r--net-wireless/broadcom-sta/files/broadcom-sta-5.60.48.36-linux-2.6.35.patch51
1 files changed, 51 insertions, 0 deletions
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-5.60.48.36-linux-2.6.35.patch b/net-wireless/broadcom-sta/files/broadcom-sta-5.60.48.36-linux-2.6.35.patch
new file mode 100644
index 000000000000..a31ba97e7255
--- /dev/null
+++ b/net-wireless/broadcom-sta/files/broadcom-sta-5.60.48.36-linux-2.6.35.patch
@@ -0,0 +1,51 @@
+diff -Naur broadcom-sta-5.60.48.36.orig/src/wl/sys/wl_iw.h broadcom-sta-5.60.48.36/src/wl/sys/wl_iw.h
+--- broadcom-sta-5.60.48.36.orig/src/wl/sys/wl_iw.h 2010-02-06 10:59:15.000000000 +0900
++++ broadcom-sta-5.60.48.36/src/wl/sys/wl_iw.h 2010-06-05 09:32:46.000000000 +0900
+@@ -15,6 +15,7 @@
+ #ifndef _wl_iw_h_
+ #define _wl_iw_h_
+
++#include <linux/semaphore.h>
+ #include <linux/wireless.h>
+
+ #include <typedefs.h>
+diff -Naur broadcom-sta-5.60.48.36.orig/src/wl/sys/wl_linux.c broadcom-sta-5.60.48.36/src/wl/sys/wl_linux.c
+--- broadcom-sta-5.60.48.36.orig/src/wl/sys/wl_linux.c 2010-02-06 10:59:15.000000000 +0900
++++ broadcom-sta-5.60.48.36/src/wl/sys/wl_linux.c 2010-06-04 08:25:22.000000000 +0900
+@@ -1416,8 +1416,13 @@
+ _wl_set_multicast_list(struct net_device *dev)
+ {
+ wl_info_t *wl;
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 35)
++ struct netdev_hw_addr *ha;
++ int i=0;
++#else
+ struct dev_mc_list *mclist;
+ int i;
++#endif
+
+ if (!dev)
+ return;
+@@ -1430,14 +1435,22 @@
+ if (wl->pub->up) {
+ wl->pub->allmulti = (dev->flags & IFF_ALLMULTI)? TRUE: FALSE;
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 35)
++ netdev_for_each_mc_addr(ha, dev) {
++#else
+ for (i = 0, mclist = dev->mc_list; mclist && (i < dev->mc_count);
+ i++, mclist = mclist->next) {
++#endif
+ if (i >= MAXMULTILIST) {
+ wl->pub->allmulti = TRUE;
+ i = 0;
+ break;
+ }
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 35)
++ wl->pub->multicast[i] = *((struct ether_addr*) ha->addr);
++#else
+ wl->pub->multicast[i] = *((struct ether_addr*) mclist->dmi_addr);
++#endif
+ }
+ wl->pub->nmulticast = i;
+ wlc_set(wl->wlc, WLC_SET_PROMISC, (dev->flags & IFF_PROMISC));