-diff -Nur linux-2.4.30/net/sched/sch_api.c linux-2.4.30-wl-fix/net/sched/sch_api.c
---- linux-2.4.30/net/sched/sch_api.c 2004-11-17 12:54:22.000000000 +0100
-+++ linux-2.4.30-wl-fix/net/sched/sch_api.c 2005-05-08 00:51:14.000000000 +0200
+diff -urN linux.old/net/core/dev.c linux.dev/net/core/dev.c
+--- linux.old/net/core/dev.c 2006-03-19 06:32:22.000000000 +0100
++++ 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