Subject: port-amiga/923: ARCnet hardware driver should reread link addr on ifconfig up
To: None <gnats-admin@NetBSD.ORG>
From: Ignatios Souvatzis <is@beverly.rhein.de>
List: netbsd-bugs
Date: 03/29/1995 13:20:09
>Number:         923
>Category:       port-amiga
>Synopsis:       The Amiga ARCnet driver only read the link address at boot time.
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    gnats-admin (GNATS administrator)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Mar 29 13:20:08 1995
>Originator:     Ignatios Souvatzis
>Organization:
"	private Internet site"
>Release:        1.0A
>Environment:
	
System: NetBSD beverly 1.0A NetBSD 1.0A (BEVERLY) #41: Mon Mar 27 10:35:09 MET DST 1995 is@beverly:/usr/src/sys/arch/amiga/compile/BEVERLY amiga


>Description:
	The if_bah.c hardware driver for Amiga ARCnet boards only reads the link
	address at boot time. However, the link address is set by dip switches and
	it might be necessary (and is quite possible) to change them without 
	reboot.

>How-To-Repeat:
	
>Fix:
	Apply the following diffs to /sys/arch/amiga/dev/if_bah.c

259c259
< 	sc->sc_arccom.ac_anaddr = sc->sc_base->dipswitches;
---
> 	sc->sc_arccom.ac_anaddr = linkaddress;
341c341
< 	int i, s;
---
> 	int i, s, linkaddress;
361a362,363
> 	linkaddress = sc->sc_base->dipswitches;
> 
363,364c365,366
< 	printf("bah%ld: reset: card reset, status = 0x%02x\n",
< 	    ifp->if_unit, sc->sc_base->status);
---
> 	printf("bah%ld: reset: card reset, link addr = 0x%02x (%ld)\n",
> 	    ifp->if_unit, linkaddress, linkaddress);
365a368,372
> 	sc->sc_arccom.ac_anaddr = linkaddress;
> 
> 	/* tell the routing level about the (possibly changed) link address */
> 	arc_ifattach(ifp);
> 
>Audit-Trail:
>Unformatted:


Ignatios Souvatzis