Skip to content

Commit

Permalink
sony_pi: Remove the BKL from open and ioctl
Browse files Browse the repository at this point in the history
The BKL is in this function because of the BKL pushdown (see commit
f8f2c79)

It is not needed here because the mutex_lock sonypi_device.lock provides
the necessary locking.

sonypi_misc_ioctl can be converted to unlocked ioctls since it relies on
its own locking (the mutex sonypi_device.lock) and not the bkl

Document that llseek is not needed by explictly setting it to no_llseek

LKML-Reference: <alpine.LFD.2.00.0910192019420.3563@localhost.localdomain>
Signed-off-by: John Kacur <jkacur@redhat.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  • Loading branch information
John Kacur authored and Linus Torvalds committed Jan 4, 2010
1 parent a87da40 commit 6432e73
Showing 1 changed file with 5 additions and 6 deletions.
11 changes: 5 additions & 6 deletions drivers/char/sonypi.c
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,6 @@
#include <linux/err.h>
#include <linux/kfifo.h>
#include <linux/platform_device.h>
#include <linux/smp_lock.h>

#include <asm/uaccess.h>
#include <asm/io.h>
Expand Down Expand Up @@ -905,14 +904,13 @@ static int sonypi_misc_release(struct inode *inode, struct file *file)

static int sonypi_misc_open(struct inode *inode, struct file *file)
{
lock_kernel();
mutex_lock(&sonypi_device.lock);
/* Flush input queue on first open */
if (!sonypi_device.open_count)
kfifo_reset(&sonypi_device.fifo);
sonypi_device.open_count++;
mutex_unlock(&sonypi_device.lock);
unlock_kernel();

return 0;
}

Expand Down Expand Up @@ -955,10 +953,10 @@ static unsigned int sonypi_misc_poll(struct file *file, poll_table *wait)
return 0;
}

static int sonypi_misc_ioctl(struct inode *ip, struct file *fp,
static long sonypi_misc_ioctl(struct file *fp,
unsigned int cmd, unsigned long arg)
{
int ret = 0;
long ret = 0;
void __user *argp = (void __user *)arg;
u8 val8;
u16 val16;
Expand Down Expand Up @@ -1074,7 +1072,8 @@ static const struct file_operations sonypi_misc_fops = {
.open = sonypi_misc_open,
.release = sonypi_misc_release,
.fasync = sonypi_misc_fasync,
.ioctl = sonypi_misc_ioctl,
.unlocked_ioctl = sonypi_misc_ioctl,
.llseek = no_llseek,
};

static struct miscdevice sonypi_misc_device = {
Expand Down

0 comments on commit 6432e73

Please sign in to comment.