Index: kernel/generic/include/synch/spinlock.h
===================================================================
--- kernel/generic/include/synch/spinlock.h	(revision d99c1d2ba8c7b2c687d430f2e9fd237046606545)
+++ kernel/generic/include/synch/spinlock.h	(revision 481d47513438cdc33d95733bb4dadfbb80b196ef)
@@ -77,5 +77,6 @@
 	}
 
-#define spinlock_lock(lock)  spinlock_lock_debug(lock)
+#define spinlock_lock(lock)	spinlock_lock_debug((lock))
+#define spinlock_unlock(lock)	spinlock_unlock_debug((lock))
 
 #else
@@ -91,5 +92,6 @@
 	}
 
-#define spinlock_lock(lock)  atomic_lock_arch(&(lock)->val)
+#define spinlock_lock(lock)	atomic_lock_arch(&(lock)->val)
+#define spinlock_unlock(lock)	spinlock_unlock_nondebug((lock))
 
 #endif
@@ -104,15 +106,14 @@
 extern int spinlock_trylock(spinlock_t *lock);
 extern void spinlock_lock_debug(spinlock_t *lock);
+extern void spinlock_unlock_debug(spinlock_t *lock);
 
 /** Unlock spinlock
  *
- * Unlock spinlock.
+ * Unlock spinlock for non-debug kernels.
  *
  * @param sl Pointer to spinlock_t structure.
  */
-static inline void spinlock_unlock(spinlock_t *lock)
+static inline void spinlock_unlock_nondebug(spinlock_t *lock)
 {
-	ASSERT(atomic_get(&lock->val) != 0);
-	
 	/*
 	 * Prevent critical section code from bleeding out this way down.
