summaryrefslogtreecommitdiffstats
path: root/sys/dev/cardbus
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2008-12-02 04:54:31 +0000
committerimp <imp@FreeBSD.org>2008-12-02 04:54:31 +0000
commitfd1b5dd075223f114ecc0f3bb7c016032a129bc5 (patch)
tree06d92722fde9dfb73849725e0cc2e7a9b012483c /sys/dev/cardbus
parent7dc64c8a80e84ac8b48242bf6e1e9c5919fea152 (diff)
downloadFreeBSD-src-fd1b5dd075223f114ecc0f3bb7c016032a129bc5.zip
FreeBSD-src-fd1b5dd075223f114ecc0f3bb7c016032a129bc5.tar.gz
Don't call destroy_dev on the alias. This fixes half a dozen PRs I think.
Diffstat (limited to 'sys/dev/cardbus')
-rw-r--r--sys/dev/cardbus/cardbus_device.c10
-rw-r--r--sys/dev/cardbus/cardbusvar.h1
2 files changed, 4 insertions, 7 deletions
diff --git a/sys/dev/cardbus/cardbus_device.c b/sys/dev/cardbus/cardbus_device.c
index b930444..50e2e98 100644
--- a/sys/dev/cardbus/cardbus_device.c
+++ b/sys/dev/cardbus/cardbus_device.c
@@ -112,15 +112,15 @@ cardbus_device_create(struct cardbus_softc *sc, struct cardbus_devinfo *devi,
device_t parent, device_t child)
{
uint32_t minor;
+ int unit;
cardbus_device_buffer_cis(parent, child, &devi->sc_cis);
minor = (device_get_unit(sc->sc_dev) << 8) + devi->pci.cfg.func;
+ unit = device_get_unit(sc->sc_dev);
devi->sc_cisdev = make_dev(&cardbus_cdevsw, minor, 0, 0, 0666,
- "cardbus%d.%d.cis", device_get_unit(sc->sc_dev),
- devi->pci.cfg.func);
+ "cardbus%d.%d.cis", unit, devi->pci.cfg.func);
if (devi->pci.cfg.func == 0)
- devi->sc_cisdev_compat = make_dev_alias(devi->sc_cisdev,
- "cardbus%d.cis", device_get_unit(sc->sc_dev));
+ make_dev_alias(devi->sc_cisdev, "cardbus%d.cis", unit);
devi->sc_cisdev->si_drv1 = devi;
return (0);
}
@@ -130,8 +130,6 @@ cardbus_device_destroy(struct cardbus_devinfo *devi)
{
if (devi->sc_cisdev)
destroy_dev(devi->sc_cisdev);
- if (devi->sc_cisdev_compat)
- destroy_dev(devi->sc_cisdev_compat);
return (0);
}
diff --git a/sys/dev/cardbus/cardbusvar.h b/sys/dev/cardbus/cardbusvar.h
index 941cc0a6..6264f69 100644
--- a/sys/dev/cardbus/cardbusvar.h
+++ b/sys/dev/cardbus/cardbusvar.h
@@ -60,7 +60,6 @@ struct cardbus_devinfo
} funce;
uint32_t fepresent; /* bit mask of funce values present */
struct cdev *sc_cisdev;
- struct cdev *sc_cisdev_compat;
struct cis_buffer sc_cis;
};
OpenPOWER on IntegriCloud