aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-mips/bitops.h
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2007-03-16 12:10:36 -0400
committerRalf Baechle <ralf@linux-mips.org>2007-03-16 21:03:29 -0400
commit49edd098e298b1f94748b7eb9c76374eeca7fb93 (patch)
treedb864f207840ac1720706cc3490e57eb6213e00c /include/asm-mips/bitops.h
parent46230aa6ea1671690e3e5efa2a961fc0745fe9b5 (diff)
[MIPS] Lockdep: Fix recursion bug.
trace_hardirqs_off -> atomic_inc -> local_irq_restore -> trace_hardirqs_off Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'include/asm-mips/bitops.h')
-rw-r--r--include/asm-mips/bitops.h24
1 files changed, 12 insertions, 12 deletions
diff --git a/include/asm-mips/bitops.h b/include/asm-mips/bitops.h
index 8959da245cfb..d995413e11fd 100644
--- a/include/asm-mips/bitops.h
+++ b/include/asm-mips/bitops.h
@@ -100,9 +100,9 @@ static inline void set_bit(unsigned long nr, volatile unsigned long *addr)
100 100
101 a += nr >> SZLONG_LOG; 101 a += nr >> SZLONG_LOG;
102 mask = 1UL << bit; 102 mask = 1UL << bit;
103 local_irq_save(flags); 103 raw_local_irq_save(flags);
104 *a |= mask; 104 *a |= mask;
105 local_irq_restore(flags); 105 raw_local_irq_restore(flags);
106 } 106 }
107} 107}
108 108
@@ -165,9 +165,9 @@ static inline void clear_bit(unsigned long nr, volatile unsigned long *addr)
165 165
166 a += nr >> SZLONG_LOG; 166 a += nr >> SZLONG_LOG;
167 mask = 1UL << bit; 167 mask = 1UL << bit;
168 local_irq_save(flags); 168 raw_local_irq_save(flags);
169 *a &= ~mask; 169 *a &= ~mask;
170 local_irq_restore(flags); 170 raw_local_irq_restore(flags);
171 } 171 }
172} 172}
173 173
@@ -220,9 +220,9 @@ static inline void change_bit(unsigned long nr, volatile unsigned long *addr)
220 220
221 a += nr >> SZLONG_LOG; 221 a += nr >> SZLONG_LOG;
222 mask = 1UL << bit; 222 mask = 1UL << bit;
223 local_irq_save(flags); 223 raw_local_irq_save(flags);
224 *a ^= mask; 224 *a ^= mask;
225 local_irq_restore(flags); 225 raw_local_irq_restore(flags);
226 } 226 }
227} 227}
228 228
@@ -287,10 +287,10 @@ static inline int test_and_set_bit(unsigned long nr,
287 287
288 a += nr >> SZLONG_LOG; 288 a += nr >> SZLONG_LOG;
289 mask = 1UL << bit; 289 mask = 1UL << bit;
290 local_irq_save(flags); 290 raw_local_irq_save(flags);
291 retval = (mask & *a) != 0; 291 retval = (mask & *a) != 0;
292 *a |= mask; 292 *a |= mask;
293 local_irq_restore(flags); 293 raw_local_irq_restore(flags);
294 294
295 return retval; 295 return retval;
296 } 296 }
@@ -381,10 +381,10 @@ static inline int test_and_clear_bit(unsigned long nr,
381 381
382 a += nr >> SZLONG_LOG; 382 a += nr >> SZLONG_LOG;
383 mask = 1UL << bit; 383 mask = 1UL << bit;
384 local_irq_save(flags); 384 raw_local_irq_save(flags);
385 retval = (mask & *a) != 0; 385 retval = (mask & *a) != 0;
386 *a &= ~mask; 386 *a &= ~mask;
387 local_irq_restore(flags); 387 raw_local_irq_restore(flags);
388 388
389 return retval; 389 return retval;
390 } 390 }
@@ -452,10 +452,10 @@ static inline int test_and_change_bit(unsigned long nr,
452 452
453 a += nr >> SZLONG_LOG; 453 a += nr >> SZLONG_LOG;
454 mask = 1UL << bit; 454 mask = 1UL << bit;
455 local_irq_save(flags); 455 raw_local_irq_save(flags);
456 retval = (mask & *a) != 0; 456 retval = (mask & *a) != 0;
457 *a ^= mask; 457 *a ^= mask;
458 local_irq_restore(flags); 458 raw_local_irq_restore(flags);
459 459
460 return retval; 460 return retval;
461 } 461 }