Index: kernel/generic/src/ddi/ddi.c
===================================================================
--- kernel/generic/src/ddi/ddi.c	(revision 373acb498b8d03eb86878ff7b4dd94c4fecea96f)
+++ kernel/generic/src/ddi/ddi.c	(revision 4ce914d4d867104231d15513fe8669e434fea7b2)
@@ -160,6 +160,6 @@
 	
 map:
-	spinlock_lock(&TASK->lock);
-	
+	interrupts_restore(ipl);
+
 	if (!as_area_create(TASK->as, flags, pages * PAGE_SIZE, vp,
 	    AS_AREA_ATTR_NONE, &phys_backend, &backend_data)) {
@@ -168,6 +168,4 @@
 		 * We report it using ENOMEM.
 		 */
-		spinlock_unlock(&TASK->lock);
-		interrupts_restore(ipl);
 		return ENOMEM;
 	}
@@ -176,7 +174,4 @@
 	 * Mapping is created on-demand during page fault.
 	 */
-	
-	spinlock_unlock(&TASK->lock);
-	interrupts_restore(ipl);
 	return 0;
 }
