summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authordfr <dfr@FreeBSD.org>2000-04-22 15:03:08 +0000
committerdfr <dfr@FreeBSD.org>2000-04-22 15:03:08 +0000
commit3e2765ffbd01e64aff3d6eeca81d0696add6e879 (patch)
treed4030c3e1e631f76d5144902e5fae10f17532643 /sys
parentf1c4eef72a44b9c1e7d7b3f59a80e2dad0c5c34b (diff)
downloadFreeBSD-src-3e2765ffbd01e64aff3d6eeca81d0696add6e879.zip
FreeBSD-src-3e2765ffbd01e64aff3d6eeca81d0696add6e879.tar.gz
Make sure the driver's ops table has been initialised before calling
static methods.
Diffstat (limited to 'sys')
-rw-r--r--sys/kern/subr_bus.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c
index 01b9676..27edde9 100644
--- a/sys/kern/subr_bus.c
+++ b/sys/kern/subr_bus.c
@@ -1842,6 +1842,11 @@ bus_generic_driver_added(device_t dev, driver_t *driver)
{
device_t child;
+ /*
+ * Make sure the class has a valid ops table.
+ */
+ kobj_class_compile((kobj_class_t) driver);
+
DEVICE_IDENTIFY(driver, dev);
for (child = TAILQ_FIRST(&dev->children);
child; child = TAILQ_NEXT(child, link))
OpenPOWER on IntegriCloud