diff options
author | dfr <dfr@FreeBSD.org> | 2000-04-22 15:03:08 +0000 |
---|---|---|
committer | dfr <dfr@FreeBSD.org> | 2000-04-22 15:03:08 +0000 |
commit | 3e2765ffbd01e64aff3d6eeca81d0696add6e879 (patch) | |
tree | d4030c3e1e631f76d5144902e5fae10f17532643 /sys/kern/subr_bus.c | |
parent | f1c4eef72a44b9c1e7d7b3f59a80e2dad0c5c34b (diff) | |
download | FreeBSD-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/kern/subr_bus.c')
-rw-r--r-- | sys/kern/subr_bus.c | 5 |
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)) |