mirror of https://github.com/hak5/openwrt.git
parent
1dbfee19f1
commit
e003859336
|
@ -1,16 +1,18 @@
|
||||||
diff -Nur linux-2.4.30/include/linux/netdevice.h linux-2.4.30-wl-fix/include/linux/netdevice.h
|
diff -urN linux.old/include/linux/netdevice.h linux.dev/include/linux/netdevice.h
|
||||||
--- linux-2.4.30/include/linux/netdevice.h 2004-11-17 12:54:22.000000000 +0100
|
--- linux.old/include/linux/netdevice.h 2006-03-19 06:32:22.000000000 +0100
|
||||||
+++ linux-2.4.30-wl-fix/include/linux/netdevice.h 2005-05-09 16:31:08.000000000 +0200
|
+++ linux.dev/include/linux/netdevice.h 2006-03-19 06:33:21.000000000 +0100
|
||||||
@@ -297,7 +297,7 @@
|
@@ -296,10 +296,7 @@
|
||||||
|
/* List of functions to handle Wireless Extensions (instead of ioctl).
|
||||||
* See <net/iw_handler.h> for details. Jean II */
|
* See <net/iw_handler.h> for details. Jean II */
|
||||||
struct iw_handler_def * wireless_handlers;
|
const struct iw_handler_def * wireless_handlers;
|
||||||
|
- /* Instance data managed by the core of Wireless Extensions. */
|
||||||
|
- struct iw_public_data * wireless_data;
|
||||||
|
|
||||||
- struct ethtool_ops *ethtool_ops;
|
- struct ethtool_ops *ethtool_ops;
|
||||||
+
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This marks the end of the "visible" part of the structure. All
|
* This marks the end of the "visible" part of the structure. All
|
||||||
@@ -352,8 +355,8 @@
|
@@ -354,8 +351,8 @@
|
||||||
|
|
||||||
struct Qdisc *qdisc;
|
struct Qdisc *qdisc;
|
||||||
struct Qdisc *qdisc_sleeping;
|
struct Qdisc *qdisc_sleeping;
|
||||||
|
@ -20,18 +22,21 @@ diff -Nur linux-2.4.30/include/linux/netdevice.h linux-2.4.30-wl-fix/include/lin
|
||||||
unsigned long tx_queue_len; /* Max frames per queue allowed */
|
unsigned long tx_queue_len; /* Max frames per queue allowed */
|
||||||
|
|
||||||
/* hard_start_xmit synchronizer */
|
/* hard_start_xmit synchronizer */
|
||||||
@@ -453,6 +460,7 @@
|
@@ -455,6 +452,10 @@
|
||||||
/* this will get initialized at each interface type init routine */
|
/* this will get initialized at each interface type init routine */
|
||||||
struct divert_blk *divert;
|
struct divert_blk *divert;
|
||||||
#endif /* CONFIG_NET_DIVERT */
|
#endif /* CONFIG_NET_DIVERT */
|
||||||
+ struct ethtool_ops *ethtool_ops;
|
+ struct ethtool_ops *ethtool_ops;
|
||||||
|
+
|
||||||
|
+ /* Instance data managed by the core of Wireless Extensions. */
|
||||||
|
+ struct iw_public_data * wireless_data;
|
||||||
};
|
};
|
||||||
|
|
||||||
/* 2.6 compatibility */
|
/* 2.6 compatibility */
|
||||||
diff -Nur linux-2.4.30/include/linux/skbuff.h linux-2.4.30-wl-fix/include/linux/skbuff.h
|
diff -urN linux.old/include/linux/skbuff.h linux.dev/include/linux/skbuff.h
|
||||||
--- linux-2.4.30/include/linux/skbuff.h 2005-04-04 03:42:20.000000000 +0200
|
--- linux.old/include/linux/skbuff.h 2006-03-19 06:32:22.000000000 +0100
|
||||||
+++ linux-2.4.30-wl-fix/include/linux/skbuff.h 2005-05-08 00:50:55.000000000 +0200
|
+++ linux.dev/include/linux/skbuff.h 2006-03-19 06:29:41.000000000 +0100
|
||||||
@@ -135,10 +135,6 @@
|
@@ -138,10 +138,6 @@
|
||||||
struct sock *sk; /* Socket we are owned by */
|
struct sock *sk; /* Socket we are owned by */
|
||||||
struct timeval stamp; /* Time we arrived */
|
struct timeval stamp; /* Time we arrived */
|
||||||
struct net_device *dev; /* Device we arrived on/are leaving by */
|
struct net_device *dev; /* Device we arrived on/are leaving by */
|
||||||
|
@ -42,9 +47,9 @@ diff -Nur linux-2.4.30/include/linux/skbuff.h linux-2.4.30-wl-fix/include/linux/
|
||||||
|
|
||||||
/* Transport layer header */
|
/* Transport layer header */
|
||||||
union
|
union
|
||||||
@@ -219,6 +215,10 @@
|
@@ -225,6 +221,10 @@
|
||||||
#ifdef CONFIG_NET_SCHED
|
#if defined(CONFIG_IMQ) || defined(CONFIG_IMQ_MODULE)
|
||||||
__u32 tc_index; /* traffic control index */
|
struct nf_info *nf_info;
|
||||||
#endif
|
#endif
|
||||||
+ struct net_device *real_dev; /* For support of point to point protocols
|
+ struct net_device *real_dev; /* For support of point to point protocols
|
||||||
+ (e.g. 802.3ad) over bonding, we must save the
|
+ (e.g. 802.3ad) over bonding, we must save the
|
||||||
|
@ -53,10 +58,10 @@ diff -Nur linux-2.4.30/include/linux/skbuff.h linux-2.4.30-wl-fix/include/linux/
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef __KERNEL__
|
#ifdef __KERNEL__
|
||||||
diff -Nur linux-2.4.30/include/net/pkt_sched.h linux-2.4.30-wl-fix/include/net/pkt_sched.h
|
diff -urN linux.old/include/net/pkt_sched.h linux.dev/include/net/pkt_sched.h
|
||||||
--- linux-2.4.30/include/net/pkt_sched.h 2004-11-17 12:54:22.000000000 +0100
|
--- linux.old/include/net/pkt_sched.h 2006-03-19 06:32:22.000000000 +0100
|
||||||
+++ linux-2.4.30-wl-fix/include/net/pkt_sched.h 2005-05-08 01:05:48.000000000 +0200
|
+++ linux.dev/include/net/pkt_sched.h 2006-03-19 06:29:41.000000000 +0100
|
||||||
@@ -59,8 +59,11 @@
|
@@ -63,8 +63,11 @@
|
||||||
int (*enqueue)(struct sk_buff *, struct Qdisc *);
|
int (*enqueue)(struct sk_buff *, struct Qdisc *);
|
||||||
struct sk_buff * (*dequeue)(struct Qdisc *);
|
struct sk_buff * (*dequeue)(struct Qdisc *);
|
||||||
int (*requeue)(struct sk_buff *, struct Qdisc *);
|
int (*requeue)(struct sk_buff *, struct Qdisc *);
|
||||||
|
@ -70,7 +75,7 @@ diff -Nur linux-2.4.30/include/net/pkt_sched.h linux-2.4.30-wl-fix/include/net/p
|
||||||
int (*init)(struct Qdisc *, struct rtattr *arg);
|
int (*init)(struct Qdisc *, struct rtattr *arg);
|
||||||
void (*reset)(struct Qdisc *);
|
void (*reset)(struct Qdisc *);
|
||||||
void (*destroy)(struct Qdisc *);
|
void (*destroy)(struct Qdisc *);
|
||||||
@@ -80,12 +83,19 @@
|
@@ -84,12 +87,19 @@
|
||||||
#define TCQ_F_THROTTLED 2
|
#define TCQ_F_THROTTLED 2
|
||||||
#define TCQ_F_INGRESS 4
|
#define TCQ_F_INGRESS 4
|
||||||
struct Qdisc_ops *ops;
|
struct Qdisc_ops *ops;
|
||||||
|
@ -92,28 +97,9 @@ diff -Nur linux-2.4.30/include/net/pkt_sched.h linux-2.4.30-wl-fix/include/net/p
|
||||||
|
|
||||||
struct tc_stats stats;
|
struct tc_stats stats;
|
||||||
int (*reshape_fail)(struct sk_buff *skb, struct Qdisc *q);
|
int (*reshape_fail)(struct sk_buff *skb, struct Qdisc *q);
|
||||||
diff -Nur linux-2.4.30/net/core/dev.c linux-2.4.30-wl-fix/net/core/dev.c
|
diff -urN linux.old/net/core/Makefile linux.dev/net/core/Makefile
|
||||||
--- linux-2.4.30/net/core/dev.c 2005-04-04 03:42:20.000000000 +0200
|
--- linux.old/net/core/Makefile 2006-03-19 06:32:22.000000000 +0100
|
||||||
+++ linux-2.4.30-wl-fix/net/core/dev.c 2005-05-08 00:51:08.000000000 +0200
|
+++ linux.dev/net/core/Makefile 2006-03-19 06:29:41.000000000 +0100
|
||||||
@@ -2311,6 +2311,7 @@
|
|
||||||
}
|
|
||||||
return ret;
|
|
||||||
|
|
||||||
+#ifndef CONFIG_BCM4710
|
|
||||||
case SIOCETHTOOL:
|
|
||||||
dev_load(ifr.ifr_name);
|
|
||||||
rtnl_lock();
|
|
||||||
@@ -2324,6 +2325,7 @@
|
|
||||||
ret = -EFAULT;
|
|
||||||
}
|
|
||||||
return ret;
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
* These ioctl calls:
|
|
||||||
diff -Nur linux-2.4.30/net/core/Makefile linux-2.4.30-wl-fix/net/core/Makefile
|
|
||||||
--- linux-2.4.30/net/core/Makefile 2004-11-17 12:54:22.000000000 +0100
|
|
||||||
+++ linux-2.4.30-wl-fix/net/core/Makefile 2005-05-08 00:51:02.000000000 +0200
|
|
||||||
@@ -9,7 +9,11 @@
|
@@ -9,7 +9,11 @@
|
||||||
|
|
||||||
O_TARGET := core.o
|
O_TARGET := core.o
|
||||||
|
@ -140,9 +126,44 @@ diff -Nur linux-2.4.30/net/core/Makefile linux-2.4.30-wl-fix/net/core/Makefile
|
||||||
|
|
||||||
obj-$(CONFIG_NETFILTER) += netfilter.o
|
obj-$(CONFIG_NETFILTER) += netfilter.o
|
||||||
obj-$(CONFIG_NET_DIVERT) += dv.o
|
obj-$(CONFIG_NET_DIVERT) += dv.o
|
||||||
diff -Nur linux-2.4.30/net/sched/sch_api.c linux-2.4.30-wl-fix/net/sched/sch_api.c
|
diff -urN linux.old/net/core/dev.c linux.dev/net/core/dev.c
|
||||||
--- linux-2.4.30/net/sched/sch_api.c 2004-11-17 12:54:22.000000000 +0100
|
--- linux.old/net/core/dev.c 2006-03-19 06:32:22.000000000 +0100
|
||||||
+++ linux-2.4.30-wl-fix/net/sched/sch_api.c 2005-05-08 00:51:14.000000000 +0200
|
+++ linux.dev/net/core/dev.c 2006-03-19 06:29:41.000000000 +0100
|
||||||
|
@@ -2232,6 +2232,7 @@
|
||||||
|
cmd == SIOCGMIIPHY ||
|
||||||
|
cmd == SIOCGMIIREG ||
|
||||||
|
cmd == SIOCSMIIREG ||
|
||||||
|
+ cmd == SIOCETHTOOL ||
|
||||||
|
cmd == SIOCWANDEV) {
|
||||||
|
if (dev->do_ioctl) {
|
||||||
|
if (!netif_device_present(dev))
|
||||||
|
@@ -2324,6 +2325,7 @@
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
|
||||||
|
+#ifndef CONFIG_BCM4710
|
||||||
|
case SIOCETHTOOL:
|
||||||
|
dev_load(ifr.ifr_name);
|
||||||
|
rtnl_lock();
|
||||||
|
@@ -2337,6 +2339,7 @@
|
||||||
|
ret = -EFAULT;
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* These ioctl calls:
|
||||||
|
@@ -2412,6 +2415,7 @@
|
||||||
|
|
||||||
|
default:
|
||||||
|
if (cmd == SIOCWANDEV ||
|
||||||
|
+ (cmd == SIOCETHTOOL) ||
|
||||||
|
(cmd >= SIOCDEVPRIVATE &&
|
||||||
|
cmd <= SIOCDEVPRIVATE + 15)) {
|
||||||
|
dev_load(ifr.ifr_name);
|
||||||
|
diff -urN linux.old/net/sched/sch_api.c linux.dev/net/sched/sch_api.c
|
||||||
|
--- linux.old/net/sched/sch_api.c 2006-03-19 06:32:22.000000000 +0100
|
||||||
|
+++ linux.dev/net/sched/sch_api.c 2006-03-19 06:29:41.000000000 +0100
|
||||||
@@ -194,11 +194,12 @@
|
@@ -194,11 +194,12 @@
|
||||||
{
|
{
|
||||||
struct Qdisc *q;
|
struct Qdisc *q;
|
||||||
|
@ -260,10 +281,10 @@ diff -Nur linux-2.4.30/net/sched/sch_api.c linux-2.4.30-wl-fix/net/sched/sch_api
|
||||||
read_unlock(&qdisc_tree_lock);
|
read_unlock(&qdisc_tree_lock);
|
||||||
|
|
||||||
cb->args[0] = t;
|
cb->args[0] = t;
|
||||||
diff -Nur linux-2.4.30/net/sched/sch_generic.c linux-2.4.30-wl-fix/net/sched/sch_generic.c
|
diff -urN linux.old/net/sched/sch_generic.c linux.dev/net/sched/sch_generic.c
|
||||||
--- linux-2.4.30/net/sched/sch_generic.c 2004-11-17 12:54:22.000000000 +0100
|
--- linux.old/net/sched/sch_generic.c 2006-03-19 06:32:22.000000000 +0100
|
||||||
+++ linux-2.4.30-wl-fix/net/sched/sch_generic.c 2005-05-08 00:51:20.000000000 +0200
|
+++ linux.dev/net/sched/sch_generic.c 2006-03-19 06:29:41.000000000 +0100
|
||||||
@@ -392,7 +392,6 @@
|
@@ -399,7 +399,6 @@
|
||||||
return NULL;
|
return NULL;
|
||||||
memset(sch, 0, size);
|
memset(sch, 0, size);
|
||||||
|
|
||||||
|
@ -271,7 +292,7 @@ diff -Nur linux-2.4.30/net/sched/sch_generic.c linux-2.4.30-wl-fix/net/sched/sch
|
||||||
skb_queue_head_init(&sch->q);
|
skb_queue_head_init(&sch->q);
|
||||||
sch->ops = ops;
|
sch->ops = ops;
|
||||||
sch->enqueue = ops->enqueue;
|
sch->enqueue = ops->enqueue;
|
||||||
@@ -422,11 +421,22 @@
|
@@ -429,11 +428,22 @@
|
||||||
void qdisc_destroy(struct Qdisc *qdisc)
|
void qdisc_destroy(struct Qdisc *qdisc)
|
||||||
{
|
{
|
||||||
struct Qdisc_ops *ops = qdisc->ops;
|
struct Qdisc_ops *ops = qdisc->ops;
|
||||||
|
@ -295,7 +316,7 @@ diff -Nur linux-2.4.30/net/sched/sch_generic.c linux-2.4.30-wl-fix/net/sched/sch
|
||||||
#ifdef CONFIG_NET_ESTIMATOR
|
#ifdef CONFIG_NET_ESTIMATOR
|
||||||
qdisc_kill_estimator(&qdisc->stats);
|
qdisc_kill_estimator(&qdisc->stats);
|
||||||
#endif
|
#endif
|
||||||
@@ -455,9 +465,9 @@
|
@@ -462,9 +472,9 @@
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
write_lock(&qdisc_tree_lock);
|
write_lock(&qdisc_tree_lock);
|
||||||
|
@ -307,7 +328,7 @@ diff -Nur linux-2.4.30/net/sched/sch_generic.c linux-2.4.30-wl-fix/net/sched/sch
|
||||||
} else {
|
} else {
|
||||||
qdisc = &noqueue_qdisc;
|
qdisc = &noqueue_qdisc;
|
||||||
}
|
}
|
||||||
@@ -501,7 +511,7 @@
|
@@ -508,7 +518,7 @@
|
||||||
dev->qdisc = &noop_qdisc;
|
dev->qdisc = &noop_qdisc;
|
||||||
spin_unlock_bh(&dev->queue_lock);
|
spin_unlock_bh(&dev->queue_lock);
|
||||||
dev->qdisc_sleeping = &noop_qdisc;
|
dev->qdisc_sleeping = &noop_qdisc;
|
||||||
|
@ -316,7 +337,7 @@ diff -Nur linux-2.4.30/net/sched/sch_generic.c linux-2.4.30-wl-fix/net/sched/sch
|
||||||
write_unlock(&qdisc_tree_lock);
|
write_unlock(&qdisc_tree_lock);
|
||||||
|
|
||||||
dev_watchdog_init(dev);
|
dev_watchdog_init(dev);
|
||||||
@@ -523,7 +533,7 @@
|
@@ -530,7 +540,7 @@
|
||||||
qdisc_destroy(qdisc);
|
qdisc_destroy(qdisc);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -325,22 +346,3 @@ diff -Nur linux-2.4.30/net/sched/sch_generic.c linux-2.4.30-wl-fix/net/sched/sch
|
||||||
BUG_TRAP(!timer_pending(&dev->watchdog_timer));
|
BUG_TRAP(!timer_pending(&dev->watchdog_timer));
|
||||||
spin_unlock_bh(&dev->queue_lock);
|
spin_unlock_bh(&dev->queue_lock);
|
||||||
write_unlock(&qdisc_tree_lock);
|
write_unlock(&qdisc_tree_lock);
|
||||||
diff -urN linux.old/net/core/dev.c linux.dev/net/core/dev.c
|
|
||||||
--- linux.old/net/core/dev.c 2005-05-28 17:42:07.000000000 +0200
|
|
||||||
+++ linux.dev/net/core/dev.c 2005-05-28 20:38:06.000000000 +0200
|
|
||||||
@@ -2223,6 +2223,7 @@
|
|
||||||
cmd == SIOCGMIIPHY ||
|
|
||||||
cmd == SIOCGMIIREG ||
|
|
||||||
cmd == SIOCSMIIREG ||
|
|
||||||
+ cmd == SIOCETHTOOL ||
|
|
||||||
cmd == SIOCWANDEV) {
|
|
||||||
if (dev->do_ioctl) {
|
|
||||||
if (!netif_device_present(dev))
|
|
||||||
@@ -2405,6 +2406,7 @@
|
|
||||||
|
|
||||||
default:
|
|
||||||
if (cmd == SIOCWANDEV ||
|
|
||||||
+ (cmd == SIOCETHTOOL) ||
|
|
||||||
(cmd >= SIOCDEVPRIVATE &&
|
|
||||||
cmd <= SIOCDEVPRIVATE + 15)) {
|
|
||||||
dev_load(ifr.ifr_name);
|
|
||||||
|
|
Loading…
Reference in New Issue