summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoryongari <yongari@FreeBSD.org>2010-12-18 23:24:59 +0000
committeryongari <yongari@FreeBSD.org>2010-12-18 23:24:59 +0000
commit20b0b89133f0b56ca0ef83174e43a793e2e3e5cb (patch)
tree2c65d61d7ac146cb351dbf3a5040d09d1afca649
parentfdbb86802d838544394fe3a9becb931e20ef59c7 (diff)
downloadFreeBSD-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.c6
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);
OpenPOWER on IntegriCloud