NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

port-prep/55003: Divice is not blacklisted in autoconfig, have fix



>Number:         55003
>Category:       port-prep
>Synopsis:       Divice is not blacklisted in autoconfig, have fix
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    port-prep-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Feb 22 14:35:01 +0000 2020
>Originator:     Tim
>Release:        8.1_STABLE
>Organization:
>Environment:
I cross-compile so build machine is:
NetBSD 8.1_STABLE (GENERIC) #0: Fri Jan 24 18:50:19 UTC 2020  mkrepro%mkrepro.NetBSD.org@localhost:/usr/src/sys/arch/amd64/compile/GENERIC amd64

Target machine is:
NetBSD 8.1_STABLE (7248-132.v6) #11: Sat Feb 22 00:36:53 MST 2020  XXXX@XXXX:/usr/obj/prep/netbsd-8/objdir/sys/arch/prep/compile/GENERIC prep
>Description:
In the process of troubleshooting a different problem, I noticed that with the kernel option "NVRAM_DUMP" enabled, the "isabeep" device is being fully processed by the function "device_register" in:
/usr/src/sys/arch/prep/prep/autoconf.c
leading to a malformed fw-path result. That function has a specific check at the beginning to bypass any devices that have no capability to boot. I believe the "isabeep" device should have been added to that group of blacklisted devices.
>How-To-Repeat:
Enable kernel option "NVRAM_DUMP" in prep kernel config.
Make sure "isabeep" device is also enabled, it is by default in GENERIC kernel config.

Boot compiled kernel and review NVRAN_DUMP debug output in dmesg.
>Fix:
--- /usr/src/sys/arch/prep/prep/autoconf.c      2020-02-22 06:32:58.907436056 -0700
+++ /usr/src/sys/arch/prep/prep/autoconf.c      2020-02-22 06:36:20.788502695 -0700
@@ -117,7 +117,8 @@
            device_is_a(dev, "pckbc") || device_is_a(dev, "pckbd") ||
            device_is_a(dev, "vga") || device_is_a(dev, "wsdisplay") ||
            device_is_a(dev, "wskbd") || device_is_a(dev, "wsmouse") ||
-           device_is_a(dev, "pms") || device_is_a(dev, "cpu"))
+           device_is_a(dev, "pms") || device_is_a(dev, "cpu") ||
+           device_is_a(dev, "isabeep"))
                return;

        if (device_is_a(dev, "pchb")) {



Home | Main Index | Thread Index | Old Index