Subject: port-i386/13639: i386 PNPBIOS code sometime prints false/incorrect info.
To: None <gnats-bugs@gnats.netbsd.org>
From: Paul Shupak <paul@Plectere.com>
List: netbsd-bugs
Date: 08/06/2001 00:44:16
>Number: 13639
>Category: port-i386
>Synopsis: Incorrect values of the PNP node's index may be printed.
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: port-i386-maintainer
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Mon Aug 06 00:41:00 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator: Paul Shupak
>Release: Mon Aug 6 00:31:27 PDT 2001
>Organization:
>Environment:
System: NetBSD new-cobalt 1.5X NetBSD 1.5X (ATHALON-$Revision: 1.7 $) #107: Fri Aug 3 19:03:59 PDT 2001 paul@new-cobalt:/usr/src/sys/arch/i386/compile/ATHALON i386
Architecture: i386
Machine: i386
>Description:
When the PNPBIOS nodes' indices are not sequential OR don't begin at zero
(e.g. many BIOS's start at index "1" and/or skip intermediate indicies),
the incorrect value is printed AND is then used for further function calls.
>How-To-Repeat:
configure the "PNPBIOS" option into a kernel an boot on any of
several Taiwanese motherboard (e.g. at least my several ASUS, and some
ABITs and Tyans )
>Fix:
Index: pnpbios.c
===================================================================
RCS file: /cvsroot/syssrc/sys/arch/i386/pnpbios/pnpbios.c,v
retrieving revision 1.23
diff -r1.23 pnpbios.c
409c409
< if (dn->dn_handle != node)
---
> if (dn->dn_handle != node) {
412a413,414
> node = dn->dn_handle;
> }
428c430
< if (dn->dn_handle != node)
---
> if (dn->dn_handle != node) {
431a434,435
> node = dn->dn_handle;
> }
>Release-Note:
>Audit-Trail:
>Unformatted: