Got it. Quick patch below. Works for me (TM). Against recent 2.5 but
should apply to 2.4 with offsets.
Neil, does this work for you?
> If you care about changing the MAC address while interface is up, 
> implement dev->set_mac_address().
Sounds like that is best avoided unless someone specifically needs it.
Even then it'll get implemented as a close/open sequence internally
anyway, so there's not much point.
--Adam
--- linux-2.5.47/drivers/net/ewrk3.c.orig	Thu Nov 21 20:24:00 2002
+++ linux-2.5.47/drivers/net/ewrk3.c	Thu Nov 21 20:22:24 2002
@@ -712,6 +712,7 @@
 	struct ewrk3_private *lp = (struct ewrk3_private *) dev->priv;
 	u_char csr, page;
 	u_long iobase = dev->base_addr;
+	int i;
 
 	/*
 	   ** Enable any multicasts
@@ -719,6 +720,13 @@
 	set_multicast_list(dev);
 
 	/*
+	** Set hardware MAC address. Address is initialized from the EEPROM
+	** during startup but may have since been changed by the user.
+	*/
+	for (i=0; i<ETH_ALEN; i++)
+		outb(dev->dev_addr[i], EWRK3_PAR0 + i);
+
+	/*
 	   ** Clean out any remaining entries in all the queues here
 	 */
 	while (inb(EWRK3_TQ));
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/