From 4363e5b2cea772fcf25cfac48f720716f6fc9346 Mon Sep 17 00:00:00 2001 From: mav Date: Mon, 7 Jun 2010 18:47:53 +0000 Subject: Call BUS_PROBE_NOMATCH() when device detached due to driver unload. This allows bus to power-down device when driver unloaded on-flight. --- sys/kern/subr_bus.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'sys/kern/subr_bus.c') diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c index 9d3292a..8b933bd 100644 --- a/sys/kern/subr_bus.c +++ b/sys/kern/subr_bus.c @@ -1166,6 +1166,9 @@ devclass_delete_driver(devclass_t busclass, driver_t *driver) if ((error = device_detach(dev)) != 0) return (error); device_set_driver(dev, NULL); + BUS_PROBE_NOMATCH(dev->parent, dev); + devnomatch(dev); + dev->flags |= DF_DONENOMATCH; } } } @@ -2660,6 +2663,7 @@ device_attach(device_t dev) } device_sysctl_update(dev); dev->state = DS_ATTACHED; + dev->flags &= ~DF_DONENOMATCH; devadded(dev); return (0); } -- cgit v1.1