Index: generic/src/synch/rwlock.c
===================================================================
--- generic/src/synch/rwlock.c	(revision dc747e33f6f5d74c7d1b7b50fda3b2fabff8fa82)
+++ generic/src/synch/rwlock.c	(revision 80d2bdbb59aff7f143abc484128e57a0c2b47e47)
@@ -226,5 +226,5 @@
 				panic("_mutex_lock_timeout()==ESYNCH_OK_ATOMIC\n");
 				break;
-			dafault:
+			default:
 				panic("invalid ESYNCH\n");
 				break;
Index: generic/src/synch/spinlock.c
===================================================================
--- generic/src/synch/spinlock.c	(revision dc747e33f6f5d74c7d1b7b50fda3b2fabff8fa82)
+++ generic/src/synch/spinlock.c	(revision 80d2bdbb59aff7f143abc484128e57a0c2b47e47)
@@ -46,5 +46,5 @@
 void spinlock_initialize(spinlock_t *sl, char *name)
 {
-	sl->val = 0;
+	atomic_set(&sl->val, 0);
 #ifdef CONFIG_DEBUG_SPINLOCK
 	sl->name = name;
@@ -152,5 +152,5 @@
 void spinlock_unlock(spinlock_t *sl)
 {
-	ASSERT(sl->val != 0);
+	ASSERT(atomic_get(&sl->val) != 0);
 
 	/*
@@ -159,5 +159,5 @@
 	CS_LEAVE_BARRIER();
 	
-	sl->val = 0;
+	atomic_set(&sl->val,0);
 	preemption_enable();
 }
