Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 22 Jan 2004 11:25:23 -0500 (EST)
From:      Jun Su <junsu@m-net.arbornet.org>
To:        FreeBSD-gnats-submit@FreeBSD.org
Cc:        jhb@FreeBSD.org
Subject:   kern/61734: [PATCH]Incorrect unit number when kldload module
Message-ID:  <200401221625.i0MGPNpJ081679@m-net.arbornet.org>
Resent-Message-ID: <200401221630.i0MGUGdE090955@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         61734
>Category:       kern
>Synopsis:       [PATCH]Incorrect unit number when kldload module
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Jan 22 08:30:16 PST 2004
>Closed-Date:
>Last-Modified:
>Originator:     Jun Su
>Release:        FreeBSD 4.6.2-RELEASE-p26 i386
>Organization:
NONE
>Environment:
System: FreeBSD 5.2 -Curret


	
>Description:
	If a device has some hint value in device.hints, when kldload the module after boot,
	the unit number is incorrect.

	for example, if_lnc driver.
	in device.hints:
	hint.lnc.0.at="isa"
	hint.lnc.0.disabled="1"
	hint.lnc.0.port="0x280"
	hint.lnc.0.irq="10"
	hint.lnc.0.drq="0"

	Don;t load the if_lnc.ko when boot. Also don't compile the driver into kernel.
	When kldload if_lnc.ko, the device will be lnc1 instead of lnc0.

	This name change make the config in rc.conf incorrect. I think we need fix this.
>How-To-Repeat:
	This behavir will be occured in any isa driver.
>Fix:
--- /usr/src/sys/isa/isa_common.c       Wed Jul  9 02:56:58 2003
+++ isa_common.c        Thu Jan 22 09:08:34 2004
@@ -613,7 +613,16 @@
                        }
                }
        }
+       for (i = 0; i < nchildren; i++) {
+         device_t child = children[i];
+         struct isa_device *idev = DEVTOISA(child);

+         if (TAILQ_FIRST(&idev->id_configs))
+           continue;
+
+         device_delete_child(dev, child);
+       }
+
        free(children, M_TEMP);

        isa_running = 1;



>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200401221625.i0MGPNpJ081679>