Index: /trunk/softs/giet_tsar/drivers.c
===================================================================
--- /trunk/softs/giet_tsar/drivers.c	(revision 175)
+++ /trunk/softs/giet_tsar/drivers.c	(revision 176)
@@ -924,7 +924,8 @@
     // output : count = _barrier_count[index] (before decrementation)
     asm volatile ("_barrier_decrement:          		\n"
-                  "ll   %0,     0(%1)           		\n"
+                  "or   $2,     %1,     $0                      \n"
+                  "ll   %0,     0($2)           		\n"
                   "addi $3,     %0,     -1      		\n"
-                  "sc   $3,     0(%1)           		\n"
+                  "sc   $3,     0($2)           		\n"
                   "beqz $3,     _barrier_decrement		\n"
                   :"=r"(count):"r"(pcount):"$2","$3");
