mirror of
https://gitdl.cn/https://github.com/chakralinux/core.git
synced 2025-02-10 13:44:37 +08:00
73 lines
2.1 KiB
Diff
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));
|