Problem found: kaweth fails to work on 2.6.12-rc[456]

From: Wakko Warner
Date: Sat Jun 11 2005 - 19:47:02 EST


After doing some testing, I believe a patch that went into rc4 broke kaweth.
The kaweth driver itself did not change from rc2 through rc6.

As a test, I reverted a patch that went into rc4 which modified
net/core/link_watch.c. Once I compiled the kernel, my netgear EA101 works
again.

The following is the patch that caused it to stop working:
--- BEGIN PATCH ---
diff -urN linux-2.6.12-rc3/net/core/link_watch.c linux-2.6.12-rc4/net/core/link_watch.c
--- linux-2.6.12-rc3/net/core/link_watch.c 2005-03-01 23:37:30.000000000 -0800
+++ linux-2.6.12-rc4/net/core/link_watch.c 2005-05-06 22:59:27.439802792 -0700
@@ -74,6 +75,12 @@
clear_bit(__LINK_STATE_LINKWATCH_PENDING, &dev->state);

if (dev->flags & IFF_UP) {
+ if (netif_carrier_ok(dev)) {
+ WARN_ON(dev->qdisc_sleeping == &noop_qdisc);
+ dev_activate(dev);
+ } else
+ dev_deactivate(dev);
+
netdev_state_change(dev);
}

--- END PATCH ---
The above is not cut'n'paste. There was 1 other addition (an include) that
I removed from the patch inorder to revert it. The patch above was applied
to 2.6.12-rc6 using -Rp1. This is why I believe that kaweth is broken.
With my limited understanding of the kernel, it would appear that kaweth
doesn't support netif_carrier_ok properly.
Anyway, I found what caused it to break, but at this point, I do not have
the required knowledge to do a proper fix.

--
Lab tests show that use of micro$oft causes cancer in lab animals
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/