summaryrefslogtreecommitdiffstats
path: root/sys/dev/ahci
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2013-12-25 12:41:53 +0000
committermav <mav@FreeBSD.org>2013-12-25 12:41:53 +0000
commit440a3e9f89b6a8cdda0c5a23484d45b61972bc0a (patch)
tree64a0b738dd1328d10981588bacdb695825e96f44 /sys/dev/ahci
parentd3ac080f01934ebbd9bd697c2dfa1d2f28860d57 (diff)
downloadFreeBSD-src-440a3e9f89b6a8cdda0c5a23484d45b61972bc0a.zip
FreeBSD-src-440a3e9f89b6a8cdda0c5a23484d45b61972bc0a.tar.gz
MFC r259222:
Destroy mtx lock when failed to allocate memory during attach. Submitted by: Dmitry Luhtionov <dmitryluhtionov@gmail.com>
Diffstat (limited to 'sys/dev/ahci')
-rw-r--r--sys/dev/ahci/ahciem.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/dev/ahci/ahciem.c b/sys/dev/ahci/ahciem.c
index d96f044..8785a78 100644
--- a/sys/dev/ahci/ahciem.c
+++ b/sys/dev/ahci/ahciem.c
@@ -85,8 +85,10 @@ ahci_em_attach(device_t dev)
mtx_init(&enc->mtx, "AHCI enclosure lock", NULL, MTX_DEF);
rid = 0;
if (!(enc->r_memc = bus_alloc_resource_any(dev, SYS_RES_MEMORY,
- &rid, RF_ACTIVE)))
+ &rid, RF_ACTIVE))) {
+ mtx_destroy(&enc->mtx);
return (ENXIO);
+ }
enc->capsem = ATA_INL(enc->r_memc, 0);
rid = 1;
if (!(enc->r_memt = bus_alloc_resource_any(dev, SYS_RES_MEMORY,
OpenPOWER on IntegriCloud