diff options
author | yongari <yongari@FreeBSD.org> | 2010-12-18 23:24:59 +0000 |
---|---|---|
committer | yongari <yongari@FreeBSD.org> | 2010-12-18 23:24:59 +0000 |
commit | 20b0b89133f0b56ca0ef83174e43a793e2e3e5cb (patch) | |
tree | 2c65d61d7ac146cb351dbf3a5040d09d1afca649 | |
parent | fdbb86802d838544394fe3a9becb931e20ef59c7 (diff) | |
download | FreeBSD-src-20b0b89133f0b56ca0ef83174e43a793e2e3e5cb.zip FreeBSD-src-20b0b89133f0b56ca0ef83174e43a793e2e3e5cb.tar.gz |
Make sure whether driver allocated resource before releasing it.
-rw-r--r-- | sys/dev/jme/if_jme.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/dev/jme/if_jme.c b/sys/dev/jme/if_jme.c index 1172705..c507753 100644 --- a/sys/dev/jme/if_jme.c +++ b/sys/dev/jme/if_jme.c @@ -854,10 +854,12 @@ jme_detach(device_t dev) } } - bus_release_resources(dev, sc->jme_irq_spec, sc->jme_irq); + if (sc->jme_irq[0] != NULL) + bus_release_resources(dev, sc->jme_irq_spec, sc->jme_irq); if ((sc->jme_flags & (JME_FLAG_MSIX | JME_FLAG_MSI)) != 0) pci_release_msi(dev); - bus_release_resources(dev, sc->jme_res_spec, sc->jme_res); + if (sc->jme_res[0] != NULL) + bus_release_resources(dev, sc->jme_res_spec, sc->jme_res); mtx_destroy(&sc->jme_mtx); return (0); |