Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 29 Apr 2010 07:19:39 GMT
From:      Alexander Motin <mav@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 177464 for review
Message-ID:  <201004290719.o3T7JdiR059495@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help

http://p4web.freebsd.org/@@177464?ac=10

Change 177464 by mav@mav_mavbook on 2010/04/29 07:19:00

	Don't leak mutex on attach error.

Affected files ...

.. //depot/projects/scottl-camlock/src/sys/dev/mvs/mvs.c#18 edit

Differences ...

==== //depot/projects/scottl-camlock/src/sys/dev/mvs/mvs.c#18 (text+ko) ====

@@ -133,9 +133,9 @@
 	rid = ATA_IRQ_RID;
 	if (!(ch->r_irq = bus_alloc_resource_any(dev, SYS_RES_IRQ,
 	    &rid, RF_SHAREABLE | RF_ACTIVE))) {
-		bus_release_resource(dev, SYS_RES_MEMORY, ch->unit, ch->r_mem);
 		device_printf(dev, "Unable to map interrupt\n");
-		return (ENXIO);
+		error = ENXIO;
+		goto err0;
 	}
 	if ((bus_setup_intr(dev, ch->r_irq, ATA_INTR_FLAGS, NULL,
 	    mvs_ch_intr_locked, dev, &ch->ih))) {
@@ -185,8 +185,10 @@
 	cam_sim_free(ch->sim, /*free_devq*/TRUE);
 err1:
 	bus_release_resource(dev, SYS_RES_IRQ, ATA_IRQ_RID, ch->r_irq);
+err0:
 	bus_release_resource(dev, SYS_RES_MEMORY, ch->unit, ch->r_mem);
 	mtx_unlock(&ch->mtx);
+	mtx_destroy(&ch->mtx);
 	return (error);
 }
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201004290719.o3T7JdiR059495>