From 1ec14c6ee9fc372987c2a3c91b35b9e38aaa6059 Mon Sep 17 00:00:00 2001 From: Bill Paul Date: Sat, 29 Oct 2005 03:01:16 +0000 Subject: Remove call to txp_set_filter() from txp_attach(). txp_set_filter() needs the ifp, so you can't call it before doing if_alloc(). Also, there's really no need to call it here anyway: the code I originally ported from OpenBSD incorrectly set the station address only once at device attach time, instead of setting in txp_init(). This meant you couldn't change the address with ifconfig txp0 ether xx:xx:xx:xx:xx:xx. I added the call to txp_set_filter() in txp_init() to correct this, but forgot to remove the call from txp_attach(). Until now, it never mattered. With this fix, the txp driver tests good: txp0: <3Com 3cR990-TX-97 Etherlink with 3XP Processor> port 0xb800-0xb87f mem 0xe6800000-0xe683ffff irq 12 at device 10.0 on pci0 txp0: Ethernet address: 00:01:03:d4:91:4f --- sys/dev/txp/if_txp.c | 2 -- 1 file changed, 2 deletions(-) (limited to 'sys') diff --git a/sys/dev/txp/if_txp.c b/sys/dev/txp/if_txp.c index c92b300e035da..4ddaa063f3e66 100644 --- a/sys/dev/txp/if_txp.c +++ b/sys/dev/txp/if_txp.c @@ -293,8 +293,6 @@ txp_attach(dev) goto fail; } - txp_set_filter(sc); - eaddr[0] = ((u_int8_t *)&p1)[1]; eaddr[1] = ((u_int8_t *)&p1)[0]; eaddr[2] = ((u_int8_t *)&p2)[3]; -- cgit v1.3