diff options
author | wpaul <wpaul@FreeBSD.org> | 2005-10-29 03:01:16 +0000 |
---|---|---|
committer | wpaul <wpaul@FreeBSD.org> | 2005-10-29 03:01:16 +0000 |
commit | 3b25215c1e7ec81babe04ab02948532904344f10 (patch) | |
tree | e91cce20a8484c4ed88f9881ac5fe04cdcbd7171 /sys/dev/txp | |
parent | ccffddac5ccb3fc8a6cef9b5f7587cf9d3aac4e1 (diff) | |
download | FreeBSD-src-3b25215c1e7ec81babe04ab02948532904344f10.zip FreeBSD-src-3b25215c1e7ec81babe04ab02948532904344f10.tar.gz |
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
Diffstat (limited to 'sys/dev/txp')
-rw-r--r-- | sys/dev/txp/if_txp.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/sys/dev/txp/if_txp.c b/sys/dev/txp/if_txp.c index c92b300..4ddaa06 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]; |