diff options
Diffstat (limited to 'sys/isa')
-rw-r--r-- | sys/isa/isa_common.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/sys/isa/isa_common.c b/sys/isa/isa_common.c index 2d5a866..8b8034b 100644 --- a/sys/isa/isa_common.c +++ b/sys/isa/isa_common.c @@ -627,6 +627,10 @@ isa_add_child(device_t dev, int order, const char *name, int unit) device_t child; struct isa_device *idev; + child = device_add_child_ordered(dev, order, name, unit); + if (child == NULL) + return (child); + idev = malloc(sizeof(struct isa_device), M_ISADEV, M_NOWAIT | M_ZERO); if (!idev) return 0; @@ -634,10 +638,9 @@ isa_add_child(device_t dev, int order, const char *name, int unit) resource_list_init(&idev->id_resources); TAILQ_INIT(&idev->id_configs); - child = device_add_child_ordered(dev, order, name, unit); - device_set_ivars(child, idev); + device_set_ivars(child, idev); - return child; + return (child); } static int |