aboutsummaryrefslogtreecommitdiff
path: root/lib/sbitmap.c
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2019-01-29 12:04:54 +0000
committerMark Brown <broonie@kernel.org>2019-01-29 12:04:54 +0000
commitd7c26e63cf78fef01d66ae848184c6ee5f4b8bbf (patch)
tree3765745a38a7ae1a4a3a056dfc6c736e4c99271d /lib/sbitmap.c
parenta8233b6c1972e1959cf84a021aeb61ddcd23cc26 (diff)
parentf17b5f06cb92ef2250513a1e154c47b78df07d40 (diff)
Merge tag 'v5.0-rc4' into asoc-5.1
Linux 5.0-rc4
Diffstat (limited to 'lib/sbitmap.c')
-rw-r--r--lib/sbitmap.c13
1 files changed, 3 insertions, 10 deletions
diff --git a/lib/sbitmap.c b/lib/sbitmap.c
index 65c2d06250a6..5b382c1244ed 100644
--- a/lib/sbitmap.c
+++ b/lib/sbitmap.c
@@ -26,14 +26,10 @@
static inline bool sbitmap_deferred_clear(struct sbitmap *sb, int index)
{
unsigned long mask, val;
- unsigned long __maybe_unused flags;
bool ret = false;
+ unsigned long flags;
- /* Silence bogus lockdep warning */
-#if defined(CONFIG_LOCKDEP)
- local_irq_save(flags);
-#endif
- spin_lock(&sb->map[index].swap_lock);
+ spin_lock_irqsave(&sb->map[index].swap_lock, flags);
if (!sb->map[index].cleared)
goto out_unlock;
@@ -54,10 +50,7 @@ static inline bool sbitmap_deferred_clear(struct sbitmap *sb, int index)
ret = true;
out_unlock:
- spin_unlock(&sb->map[index].swap_lock);
-#if defined(CONFIG_LOCKDEP)
- local_irq_restore(flags);
-#endif
+ spin_unlock_irqrestore(&sb->map[index].swap_lock, flags);
return ret;
}