mirror of
https://github.com/adulau/aha.git
synced 2025-01-04 07:03:38 +00:00
ipmi: cdev lock_kernel() pushdown
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
This commit is contained in:
parent
fbc8a81d66
commit
ecc38983f6
1 changed files with 6 additions and 2 deletions
|
@ -43,6 +43,7 @@
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/device.h>
|
#include <linux/device.h>
|
||||||
#include <linux/compat.h>
|
#include <linux/compat.h>
|
||||||
|
#include <linux/smp_lock.h>
|
||||||
|
|
||||||
struct ipmi_file_private
|
struct ipmi_file_private
|
||||||
{
|
{
|
||||||
|
@ -121,6 +122,7 @@ static int ipmi_open(struct inode *inode, struct file *file)
|
||||||
if (!priv)
|
if (!priv)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
|
lock_kernel();
|
||||||
priv->file = file;
|
priv->file = file;
|
||||||
|
|
||||||
rv = ipmi_create_user(if_num,
|
rv = ipmi_create_user(if_num,
|
||||||
|
@ -129,7 +131,7 @@ static int ipmi_open(struct inode *inode, struct file *file)
|
||||||
&(priv->user));
|
&(priv->user));
|
||||||
if (rv) {
|
if (rv) {
|
||||||
kfree(priv);
|
kfree(priv);
|
||||||
return rv;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
file->private_data = priv;
|
file->private_data = priv;
|
||||||
|
@ -144,7 +146,9 @@ static int ipmi_open(struct inode *inode, struct file *file)
|
||||||
priv->default_retries = -1;
|
priv->default_retries = -1;
|
||||||
priv->default_retry_time_ms = 0;
|
priv->default_retry_time_ms = 0;
|
||||||
|
|
||||||
return 0;
|
out:
|
||||||
|
unlock_kernel();
|
||||||
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ipmi_release(struct inode *inode, struct file *file)
|
static int ipmi_release(struct inode *inode, struct file *file)
|
||||||
|
|
Loading…
Reference in a new issue