Subject: port-pmax/3541: le0 fails to probe on DS5000/133
To: None <gnats-bugs@gnats.netbsd.org>
From: Ted Lemon <mellon@adagio.fugue.com>
List: netbsd-bugs
Date: 04/25/1997 17:17:44
>Number:         3541
>Category:       port-pmax
>Synopsis:       le0 fails to probe on DS5000/133
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    gnats-admin (GNATS administrator)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Apr 25 17:20:01 1997
>Last-Modified:
>Originator:     Ted Lemon
>Organization:
Barefoot Consulting
>Release:        4/25/97
>Environment:
System: NetBSD adagio.fugue.com 1.2D NetBSD 1.2D (ADAGIO) #8: Sun Apr 20 21:51:46 PDT 1997 mellon@toccata.fugue.com:/NetBSD/current/current/sys/arch/pmax/compile/ADAGIO pmax


>Description:
	During autoconfig on a DS5000/133, it fails to match the on-board
	lance ethernet chip.   This doesn't appear to happen with kernels
	that have root on nfs - I've no idea why.   The code in ioasic_submatch 
	seems destined never to match anything, since it's matching against
	something that appears to be constant.   I don't really understand
	what this code is supposed to be doing, though, so perhaps I'm
	getting it wrong.   In any case, other ioasic drivers don't call
	ioasic_submatch, so I just took that out, and everything worked.
>How-To-Repeat:
	Configure a kernel without root on NFS.   Boot it.   It'll come
	up just fine (assuming all else is well) but will not configure
	the lance.   It does print an error message indicating that the
	lance is not configured, though.
>Fix:
	No guarantees:

Index: if_le_ioasic.c
===================================================================
RCS file: /cvsroot/src/sys/dev/tc/if_le_ioasic.c,v
retrieving revision 1.6
diff -c -2 -r1.6 if_le_ioasic.c
*** if_le_ioasic.c	1997/03/17 03:19:13	1.6
--- if_le_ioasic.c	1997/04/26 00:06:44
***************
*** 91,96 ****
--- 91,98 ----
  	struct ioasicdev_attach_args *d = aux;
  
+ #if 0
  	if (!ioasic_submatch(match, aux))
  		return (0);
+ #endif
  	if (strncmp("lance", d->iada_modname, TC_ROM_LLEN))
  		return (0);
>Audit-Trail:
>Unformatted: