--- /n/sources/plan9/sys/src/9/port/taslock.c	Mon Apr  8 18:18:51 2013
+++ /sys/src/9/port/taslock.c	Fri Mar  4 00:00:00 2016
@@ -207,6 +207,7 @@
 	if(l->p != up)
 		print("unlock: up changed: pc %#p, acquired at pc %lux, lock p %#p, unlock up %#p\n", getcallerpc(&l), l->pc, l->p, up);
 	l->m = nil;
+	coherence();
 	l->key = 0;
 	coherence();
 
@@ -246,6 +247,7 @@
 
 	sr = l->sr;
 	l->m = nil;
+	coherence();
 	l->key = 0;
 	coherence();
 	m->ilockdepth--;