--- old/usr/src/uts/common/vm/seg_dev.c	2015-11-25 13:59:39.583635888 -0500
+++ new/usr/src/uts/common/vm/seg_dev.c	2015-11-25 13:59:39.587652537 -0500
@@ -368,7 +368,7 @@
 	 * Since the address space is "write" locked, we
 	 * don't need the segment lock to protect "segdev" data.
 	 */
-	ASSERT(seg->s_as && AS_WRITE_HELD(seg->s_as, &seg->s_as->a_lock));
+	ASSERT(seg->s_as && AS_WRITE_HELD(seg->s_as));
 
 	hat_map(seg->s_as->a_hat, seg->s_base, seg->s_size, HAT_MAP);
 
@@ -474,7 +474,7 @@
 	 * Since the address space is "write" locked, we
 	 * don't need the segment lock to protect "segdev" data.
 	 */
-	ASSERT(seg->s_as && AS_WRITE_HELD(seg->s_as, &seg->s_as->a_lock));
+	ASSERT(seg->s_as && AS_WRITE_HELD(seg->s_as));
 
 	newsdp = sdp_alloc();
 
@@ -646,7 +646,7 @@
 	 * Since the address space is "write" locked, we
 	 * don't need the segment lock to protect "segdev" data.
 	 */
-	ASSERT(seg->s_as && AS_WRITE_HELD(seg->s_as, &seg->s_as->a_lock));
+	ASSERT(seg->s_as && AS_WRITE_HELD(seg->s_as));
 
 	if ((sz = sdp->softlockcnt) > 0) {
 		/*
@@ -1135,7 +1135,7 @@
 	 * Since the address space is "write" locked, we
 	 * don't need the segment lock to protect "segdev" data.
 	 */
-	ASSERT(seg->s_as && AS_WRITE_HELD(seg->s_as, &seg->s_as->a_lock));
+	ASSERT(seg->s_as && AS_WRITE_HELD(seg->s_as));
 
 	while (dhp != NULL)
 		dhp = devmap_handle_unmap(dhp);
@@ -1617,7 +1617,7 @@
 	    "addr %p len %lx type %x\n",
 	    (void *)dhp_head, (void *)seg, (void *)addr, len, type));
 
-	ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as, &seg->s_as->a_lock));
+	ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
 
 	/* Handle non-devmap case */
 	if (dhp_head == NULL)
@@ -2057,7 +2057,7 @@
 {
 	TRACE_2(TR_FAC_DEVMAP, TR_DEVMAP_FAULTA,
 	    "segdev_faulta: seg=%p addr=%p", (void *)seg, (void *)addr);
-	ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as, &seg->s_as->a_lock));
+	ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
 
 	return (0);
 }
@@ -2075,7 +2075,7 @@
 	TRACE_4(TR_FAC_DEVMAP, TR_DEVMAP_SETPROT,
 	    "segdev_setprot:start seg=%p addr=%p len=%lx prot=%x",
 	    (void *)seg, (void *)addr, len, prot);
-	ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as, &seg->s_as->a_lock));
+	ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
 
 	if ((sz = sdp->softlockcnt) > 0 && dhp_head != NULL) {
 		/*
@@ -2198,7 +2198,7 @@
 	TRACE_4(TR_FAC_DEVMAP, TR_DEVMAP_CHECKPROT,
 	    "segdev_checkprot:start seg=%p addr=%p len=%lx prot=%x",
 	    (void *)seg, (void *)addr, len, prot);
-	ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as, &seg->s_as->a_lock));
+	ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
 
 	/*
 	 * If segment protection can be used, simply check against them
@@ -2235,7 +2235,7 @@
 	TRACE_4(TR_FAC_DEVMAP, TR_DEVMAP_GETPROT,
 	    "segdev_getprot:start seg=%p addr=%p len=%lx protv=%p",
 	    (void *)seg, (void *)addr, len, (void *)protv);
-	ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as, &seg->s_as->a_lock));
+	ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
 
 	pgno = seg_page(seg, addr + len) - seg_page(seg, addr) + 1;
 	if (pgno != 0) {
@@ -2266,7 +2266,7 @@
 	TRACE_2(TR_FAC_DEVMAP, TR_DEVMAP_GETOFFSET,
 	    "segdev_getoffset:start seg=%p addr=%p", (void *)seg, (void *)addr);
 
-	ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as, &seg->s_as->a_lock));
+	ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
 
 	return ((u_offset_t)sdp->offset + (addr - seg->s_base));
 }
@@ -2280,7 +2280,7 @@
 	TRACE_2(TR_FAC_DEVMAP, TR_DEVMAP_GETTYPE,
 	    "segdev_gettype:start seg=%p addr=%p", (void *)seg, (void *)addr);
 
-	ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as, &seg->s_as->a_lock));
+	ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
 
 	return (sdp->type);
 }
@@ -2295,7 +2295,7 @@
 	TRACE_2(TR_FAC_DEVMAP, TR_DEVMAP_GETVP,
 	    "segdev_getvp:start seg=%p addr=%p", (void *)seg, (void *)addr);
 
-	ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as, &seg->s_as->a_lock));
+	ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
 
 	/*
 	 * Note that this vp is the common_vp of the device, where the
@@ -2325,7 +2325,7 @@
 {
 	TRACE_0(TR_FAC_DEVMAP, TR_DEVMAP_SYNC, "segdev_sync:start");
 
-	ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as, &seg->s_as->a_lock));
+	ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
 
 	return (0);
 }
@@ -2341,7 +2341,7 @@
 
 	TRACE_0(TR_FAC_DEVMAP, TR_DEVMAP_INCORE, "segdev_incore:start");
 
-	ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as, &seg->s_as->a_lock));
+	ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
 
 	for (len = (len + PAGEOFFSET) & PAGEMASK; len; len -= PAGESIZE,
 	    v += PAGESIZE)
@@ -2360,7 +2360,7 @@
 {
 	TRACE_0(TR_FAC_DEVMAP, TR_DEVMAP_LOCKOP, "segdev_lockop:start");
 
-	ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as, &seg->s_as->a_lock));
+	ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
 
 	return (0);
 }
@@ -2375,7 +2375,7 @@
 {
 	TRACE_0(TR_FAC_DEVMAP, TR_DEVMAP_ADVISE, "segdev_advise:start");
 
-	ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as, &seg->s_as->a_lock));
+	ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
 
 	return (0);
 }
@@ -3080,7 +3080,7 @@
 	 *	the as lock is held. Verify here and return error if drivers
 	 *	inadvertently call devmap_load on a wrong devmap handle.
 	 */
-	if ((asp != &kas) && !AS_LOCK_HELD(asp, &asp->a_lock))
+	if ((asp != &kas) && !AS_LOCK_HELD(asp))
 		return (FC_MAKE_ERR(EINVAL));
 
 	soff = (ssize_t)(offset - dhp->dh_uoff);
