diff options
Diffstat (limited to 'sys/pccard/pcic.c')
-rw-r--r-- | sys/pccard/pcic.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/pccard/pcic.c b/sys/pccard/pcic.c index 9b319c7..f76e72f 100644 --- a/sys/pccard/pcic.c +++ b/sys/pccard/pcic.c @@ -1135,6 +1135,10 @@ pcic_activate_resource(device_t dev, device_t child, int type, int rid, struct pccard_devinfo *devi = device_get_ivars(child); int err; + if (dev != device_get_parent(device_get_parent(child)) || devi == NULL) + return (bus_generic_activate_resource(dev, child, type, + rid, r)); + switch (type) { case SYS_RES_IOPORT: { struct io_desc *ip; @@ -1187,6 +1191,10 @@ pcic_deactivate_resource(device_t dev, device_t child, int type, int rid, struct pccard_devinfo *devi = device_get_ivars(child); int err; + if (dev != device_get_parent(device_get_parent(child)) || devi == NULL) + return (bus_generic_deactivate_resource(dev, child, type, + rid, r)); + switch (type) { case SYS_RES_IOPORT: { struct io_desc *ip = &devi->slt->io[rid]; |