core/broadcom-wl/kernel-2.6.35.patch

73 lines
2.1 KiB
Diff

diff -aur bla/src/include/linuxver.h bla.new/src/include/linuxver.h
--- bla/src/include/linuxver.h 2010-02-06 02:59:15.000000000 +0100
+++ bla.new/src/include/linuxver.h 2010-08-07 23:17:35.354988049 +0200
@@ -20,7 +20,7 @@
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 0))
#include <linux/config.h>
#else
-#include <linux/autoconf.h>
+#include <generated/autoconf.h>
#endif
#include <linux/module.h>
diff -aur bla/src/wl/sys/wl_iw.h bla.new/src/wl/sys/wl_iw.h
--- bla/src/wl/sys/wl_iw.h 2010-02-06 02:59:15.000000000 +0100
+++ bla.new/src/wl/sys/wl_iw.h 2010-08-07 23:17:35.368641722 +0200
@@ -15,6 +15,7 @@
#ifndef _wl_iw_h_
#define _wl_iw_h_
+#include <linux/semaphore.h>
#include <linux/wireless.h>
#include <typedefs.h>
diff -aur bla/src/wl/sys/wl_linux.c bla.new/src/wl/sys/wl_linux.c
--- bla/src/wl/sys/wl_linux.c 2010-02-06 02:59:15.000000000 +0100
+++ bla.new/src/wl/sys/wl_linux.c 2010-08-07 23:17:35.368641722 +0200
@@ -187,6 +187,8 @@
static int nompc = 0;
module_param(nompc, int, 0);
+MODULE_LICENSE("Mixed/Proprietary");
+
static char name[IFNAMSIZ] = "eth%d";
module_param_string(name, name, IFNAMSIZ, 0);
@@ -1416,8 +1418,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 +1437,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));