diff options
author | Chirayu Desai <cdesai@cyanogenmod.org> | 2013-05-20 09:56:37 +0530 |
---|---|---|
committer | Chirayu Desai <cdesai@cyanogenmod.org> | 2013-05-20 09:56:37 +0530 |
commit | 869cf3be9976f56aa25ad7176f32c0acef3c605f (patch) | |
tree | f0bb66e62d73884cf6275206b3c806bb27162658 /drivers/char | |
parent | 69c9cbc86b5d9f8da1c085bc8f84930d2d73b2c9 (diff) | |
parent | ae101a35196a14a8388b7db5f7ddd0b3cfdc5f99 (diff) | |
download | kernel_samsung_aries-869cf3be9976f56aa25ad7176f32c0acef3c605f.zip kernel_samsung_aries-869cf3be9976f56aa25ad7176f32c0acef3c605f.tar.gz kernel_samsung_aries-869cf3be9976f56aa25ad7176f32c0acef3c605f.tar.bz2 |
Merge branch 'linux-3.0.y' of git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable into HEAD
Conflicts:
sound/soc/codecs/wm8994.c
Change-Id: Ic34584ecfad51ba86cd9e31accf98a23db597920
Diffstat (limited to 'drivers/char')
-rw-r--r-- | drivers/char/ipmi/ipmi_bt_sm.c | 4 | ||||
-rw-r--r-- | drivers/char/ipmi/ipmi_devintf.c | 14 |
2 files changed, 15 insertions, 3 deletions
diff --git a/drivers/char/ipmi/ipmi_bt_sm.c b/drivers/char/ipmi/ipmi_bt_sm.c index 3ed20e8..92ce302 100644 --- a/drivers/char/ipmi/ipmi_bt_sm.c +++ b/drivers/char/ipmi/ipmi_bt_sm.c @@ -95,9 +95,9 @@ struct si_sm_data { enum bt_states state; unsigned char seq; /* BT sequence number */ struct si_sm_io *io; - unsigned char write_data[IPMI_MAX_MSG_LENGTH]; + unsigned char write_data[IPMI_MAX_MSG_LENGTH + 2]; /* +2 for memcpy */ int write_count; - unsigned char read_data[IPMI_MAX_MSG_LENGTH]; + unsigned char read_data[IPMI_MAX_MSG_LENGTH + 2]; /* +2 for memcpy */ int read_count; int truncated; long timeout; /* microseconds countdown */ diff --git a/drivers/char/ipmi/ipmi_devintf.c b/drivers/char/ipmi/ipmi_devintf.c index 2aa3977..8dde1f5 100644 --- a/drivers/char/ipmi/ipmi_devintf.c +++ b/drivers/char/ipmi/ipmi_devintf.c @@ -838,13 +838,25 @@ static long compat_ipmi_ioctl(struct file *filep, unsigned int cmd, return ipmi_ioctl(filep, cmd, arg); } } + +static long unlocked_compat_ipmi_ioctl(struct file *filep, unsigned int cmd, + unsigned long arg) +{ + int ret; + + mutex_lock(&ipmi_mutex); + ret = compat_ipmi_ioctl(filep, cmd, arg); + mutex_unlock(&ipmi_mutex); + + return ret; +} #endif static const struct file_operations ipmi_fops = { .owner = THIS_MODULE, .unlocked_ioctl = ipmi_unlocked_ioctl, #ifdef CONFIG_COMPAT - .compat_ioctl = compat_ipmi_ioctl, + .compat_ioctl = unlocked_compat_ipmi_ioctl, #endif .open = ipmi_open, .release = ipmi_release, |