Subject: bin/28645: Infinite loop at startup with Acer Travelmate 313T
To: None <gnats-admin@netbsd.org, netbsd-bugs@netbsd.org>
From: None <fab@gnux.info>
List: netbsd-bugs
Date: 12/13/2004 12:07:00
>Number:         28645
>Category:       bin
>Synopsis:       Infinite loop at startup with Acer Travelmate 313T
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    bin-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Dec 13 12:07:00 +0000 2004
>Originator:     Fabien Devaux
>Release:        2.0
>Organization:
>Environment:
>Description:
With an isapnp enabled kernel, the systems loops with
"No current device for tag, card X" at startup.

The laptop's BIOS seems very buggy.
>How-To-Repeat:
boot a GENERIC kernel on an Acer travelmate 313T.
>Fix:
--- isapnpres.c-orig    2004-12-10 19:05:53.000000000 +0100
+++ isapnpres.c 2004-12-07 23:09:39.000000000 +0100
@@ -524,9 +524,12 @@
                                goto bad;
                }
 
-               if (isapnp_process_tag(tag, len, buf, &card, &dev, &conf) == -1)
+               if (isapnp_process_tag(tag, len, buf, &card, &dev, &conf) == -1) {
                        printf("%s: No current device for tag, card %d\n",
                            sc->sc_dev.dv_xname, c + 1);
+                       if (++warned == 10)
+                               goto bad;
+               }
        }
        while (tag != ISAPNP_TAG_END);
        return isapnp_flatten(card);