Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 31 Jan 2000 15:43:45 -0500 (EST)
From:      "Matthew N. Dodd" <winter@jurai.net>
To:        Nikolai Saoukh <nms@ethereal.ru>
Cc:        freebsd-current@FreeBSD.ORG
Subject:   Re: kldloaded driver not called at load time 
Message-ID:  <Pine.BSF.4.21.0001311543010.479-200000@sasami.jurai.net>
In-Reply-To: <20000131202335.66CFC1F1@Brigada-A.Ethereal.RU>

index | next in thread | previous in thread | raw e-mail

[-- Attachment #1 --]
On Mon, 31 Jan 2000, Nikolai Saoukh wrote:
> THE PROBLEM is that tok_isa_probe is not called at all,
> when driver kldloaded. Return value is irrelevant for this case.

Try the attached patch.

(cd /sys/isa && patch < isa_common.c.patch)

-- 
| Matthew N. Dodd  | '78 Datsun 280Z | '75 Volvo 164E | FreeBSD/NetBSD  |
| winter@jurai.net |       2 x '84 Volvo 245DL        | ix86,sparc,pmax |
| http://www.jurai.net/~winter | This Space For Rent  | ISO8802.5 4ever |

[-- Attachment #2 --]
Index: isa_common.c
===================================================================
RCS file: /cvs/src/sys/isa/isa_common.c,v
retrieving revision 1.15
diff -u -r1.15 isa_common.c
--- isa_common.c	2000/01/18 02:15:05	1.15
+++ isa_common.c	2000/01/31 20:42:03
@@ -783,8 +783,7 @@
 static void
 isa_driver_added(device_t dev, driver_t *driver)
 {
-	device_t *children;
-	int nchildren, i;
+	device_t child;
 
 	/*
 	 * Don't do anything if drivers are dynamically
@@ -796,11 +795,10 @@
 		return;
 
 	DEVICE_IDENTIFY(driver, dev);
-	if (device_get_children(dev, &children, &nchildren))
-		return;
 
-	for (i = 0; i < nchildren; i++) {
-		device_t child = children[i];
+	for (child = TAILQ_FIRST(&dev->children);
+	     child;
+	     child = TAILQ_NEXT(child, link)) {
 		struct isa_device *idev = DEVTOISA(child);
 		struct resource_list *rl = &idev->id_resources;
 		struct resource_list_entry *rle;
@@ -831,8 +829,6 @@
 			}
 		}
 	}
-
-	free(children, M_TEMP);
 }
 
 static int
help

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0001311543010.479-200000>