diff options
| author | Matthew N. Dodd <mdodd@FreeBSD.org> | 1999-11-30 07:06:03 +0000 |
|---|---|---|
| committer | Matthew N. Dodd <mdodd@FreeBSD.org> | 1999-11-30 07:06:03 +0000 |
| commit | 44a451ba24017543461111e62ffd51f9c6eff080 (patch) | |
| tree | 2dccbc3443e14cb623fc27bca35b669cff34f349 /sys | |
| parent | 98733bd87142a106601484f88618dc74b1e4c1a8 (diff) | |
Notes
Diffstat (limited to 'sys')
| -rw-r--r-- | sys/kern/subr_bus.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c index 385e1de72b58..eff46ad31261 100644 --- a/sys/kern/subr_bus.c +++ b/sys/kern/subr_bus.c @@ -432,12 +432,14 @@ devclass_get_softc(devclass_t dc, int unit) { device_t dev; - if (unit < 0 || unit >= dc->maxunit) - return NULL; - dev = dc->devices[unit]; - if (!dev || dev->state < DS_ATTACHED) - return NULL; - return dev->softc; + dev = devclass_get_device(dc, unit); + if (!dev) + return (NULL); + + if (device_get_state(dev) < DS_ATTACHED) + return (NULL); + + return (device_get_softc(dev)); } int |
