diff options
author | Christian Borntraeger <borntraeger@de.ibm.com> | 2008-12-25 07:38:34 -0500 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2008-12-25 07:38:54 -0500 |
commit | a114a9d69d1362546b9dda651028acb311ddb7af (patch) | |
tree | c538cbdb79ca97bd06d889d62300f0fbf53c3c6a /drivers/s390 | |
parent | f414f5f15376764d68a31dc568d9e814d3fcb58a (diff) |
[S390] vmcp: remove BKL
The vmcp driver uses the session->mutex for concurrent access of the data
structures. Therefore, the BKL in vmcp_open does not protect against any
other function in the driver.
The BLK in vmcp_open would protect concurrent access to the module init
but all necessary steps ave finished before misc_register is called.
We can safely remove the lock_kernel from vcmp.
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390')
-rw-r--r-- | drivers/s390/char/vmcp.c | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/drivers/s390/char/vmcp.c b/drivers/s390/char/vmcp.c index 09e7d9bf438b..d7083b33b0fe 100644 --- a/drivers/s390/char/vmcp.c +++ b/drivers/s390/char/vmcp.c | |||
@@ -16,7 +16,6 @@ | |||
16 | #include <linux/kernel.h> | 16 | #include <linux/kernel.h> |
17 | #include <linux/miscdevice.h> | 17 | #include <linux/miscdevice.h> |
18 | #include <linux/module.h> | 18 | #include <linux/module.h> |
19 | #include <linux/smp_lock.h> | ||
20 | #include <asm/cpcmd.h> | 19 | #include <asm/cpcmd.h> |
21 | #include <asm/debug.h> | 20 | #include <asm/debug.h> |
22 | #include <asm/uaccess.h> | 21 | #include <asm/uaccess.h> |
@@ -41,13 +40,11 @@ static int vmcp_open(struct inode *inode, struct file *file) | |||
41 | if (!session) | 40 | if (!session) |
42 | return -ENOMEM; | 41 | return -ENOMEM; |
43 | 42 | ||
44 | lock_kernel(); | ||
45 | session->bufsize = PAGE_SIZE; | 43 | session->bufsize = PAGE_SIZE; |
46 | session->response = NULL; | 44 | session->response = NULL; |
47 | session->resp_size = 0; | 45 | session->resp_size = 0; |
48 | mutex_init(&session->mutex); | 46 | mutex_init(&session->mutex); |
49 | file->private_data = session; | 47 | file->private_data = session; |
50 | unlock_kernel(); | ||
51 | return nonseekable_open(inode, file); | 48 | return nonseekable_open(inode, file); |
52 | } | 49 | } |
53 | 50 | ||