summaryrefslogtreecommitdiff
path: root/drivers/xen/xenbus/xenbus_probe_backend.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2020-03-21 09:35:44 +0100
committerIngo Molnar <mingo@kernel.org>2020-03-21 09:35:44 +0100
commitdf10846ff2ac3b0a7b295be2de2e9215877982f3 (patch)
tree9e5ff5583aa1547afd3c577815af81c2f328e288 /drivers/xen/xenbus/xenbus_probe_backend.c
parenta4654e9bde4ecedb4921e6c8fe2088114bdff1b3 (diff)
parent5ad0ec0b86525d0c5d3d250d3cfad7f183b00cfa (diff)
Merge branch 'linus' into locking/kcsan, to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'drivers/xen/xenbus/xenbus_probe_backend.c')
-rw-r--r--drivers/xen/xenbus/xenbus_probe_backend.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/xen/xenbus/xenbus_probe_backend.c b/drivers/xen/xenbus/xenbus_probe_backend.c
index 791f6fe01e91..9b2fbe69bccc 100644
--- a/drivers/xen/xenbus/xenbus_probe_backend.c
+++ b/drivers/xen/xenbus/xenbus_probe_backend.c
@@ -45,6 +45,7 @@
#include <linux/mm.h>
#include <linux/notifier.h>
#include <linux/export.h>
+#include <linux/semaphore.h>
#include <asm/page.h>
#include <asm/pgtable.h>
@@ -257,10 +258,10 @@ static int backend_reclaim_memory(struct device *dev, void *data)
drv = to_xenbus_driver(dev->driver);
if (drv && drv->reclaim_memory) {
xdev = to_xenbus_device(dev);
- if (!spin_trylock(&xdev->reclaim_lock))
+ if (down_trylock(&xdev->reclaim_sem))
return 0;
drv->reclaim_memory(xdev);
- spin_unlock(&xdev->reclaim_lock);
+ up(&xdev->reclaim_sem);
}
return 0;
}