[FIX] Preload: sync in atomic 69/48069/1
authorAlexander Aksenov <a.aksenov@samsung.com>
Tue, 8 Sep 2015 16:10:02 +0000 (19:10 +0300)
committerAlexander Aksenov <a.aksenov@samsung.com>
Sat, 12 Sep 2015 10:28:55 +0000 (13:28 +0300)
Mutex replaced with spinlock, cause they are used in
handlers (executed in atomic context)

Change-Id: I736f0ae284cc75f8197b8dabc2f837313c8b5553
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
preload/preload_debugfs.c

index caeb022..c290f7a 100644 (file)
@@ -4,7 +4,7 @@
 #include <linux/fs.h>
 #include <linux/module.h>
 #include <linux/slab.h>
-#include <linux/mutex.h>
+#include <linux/spinlock.h>
 #include <linux/limits.h>
 #include <asm/uaccess.h>
 #include <master/swap_debugfs.h>
@@ -35,23 +35,19 @@ struct loader_info {
 };
 
 static struct dentry *preload_root;
-static struct loader_info __loader_info = {
-       .path = NULL,
-       .offset = 0,
-       .dentry = NULL
-};
+static struct loader_info __loader_info;
 
 static unsigned long r_debug_offset = 0;
-static DEFINE_MUTEX(__dentry_lock);
+static DEFINE_SPINLOCK(__dentry_lock);
 
 static inline void dentry_lock(void)
 {
-       mutex_lock(&__dentry_lock);
+       spin_lock(&__dentry_lock);
 }
 
 static inline void dentry_unlock(void)
 {
-       mutex_unlock(&__dentry_lock);
+       spin_unlock(&__dentry_lock);
 }