lkml.org 
[lkml]   [2010]   [Jun]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 6/6] usb/mon: kill BKL usage
    Date
    compat_ioctl does not use the BKL, so I assume that
    the native function does not need it either.

    The open function is already protected by the
    driver's mutex, the BKL is probably not needed
    here either.

    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    ---
    drivers/usb/mon/mon_bin.c | 22 ++--------------------
    1 files changed, 2 insertions(+), 20 deletions(-)

    diff --git a/drivers/usb/mon/mon_bin.c b/drivers/usb/mon/mon_bin.c
    index 61c76b1..1be0b9f 100644
    --- a/drivers/usb/mon/mon_bin.c
    +++ b/drivers/usb/mon/mon_bin.c
    @@ -646,17 +646,14 @@ static int mon_bin_open(struct inode *inode, struct file *file)
    size_t size;
    int rc;

    - lock_kernel();
    mutex_lock(&mon_lock);
    if ((mbus = mon_bus_lookup(iminor(inode))) == NULL) {
    mutex_unlock(&mon_lock);
    - unlock_kernel();
    return -ENODEV;
    }
    if (mbus != &mon_bus0 && mbus->u_bus == NULL) {
    printk(KERN_ERR TAG ": consistency error on open\n");
    mutex_unlock(&mon_lock);
    - unlock_kernel();
    return -ENODEV;
    }

    @@ -689,7 +686,6 @@ static int mon_bin_open(struct inode *inode, struct file *file)

    file->private_data = rp;
    mutex_unlock(&mon_lock);
    - unlock_kernel();
    return 0;

    err_allocbuff:
    @@ -698,7 +694,6 @@ err_allocvec:
    kfree(rp);
    err_alloc:
    mutex_unlock(&mon_lock);
    - unlock_kernel();
    return rc;
    }

    @@ -954,7 +949,7 @@ static int mon_bin_queued(struct mon_reader_bin *rp)

    /*
    */
    -static int mon_bin_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
    +static long mon_bin_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
    {
    struct mon_reader_bin *rp = file->private_data;
    // struct mon_bus* mbus = rp->r.m_bus;
    @@ -1094,19 +1089,6 @@ static int mon_bin_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
    return ret;
    }

    -static long mon_bin_unlocked_ioctl(struct file *file, unsigned int cmd,
    - unsigned long arg)
    -{
    - int ret;
    -
    - lock_kernel();
    - ret = mon_bin_ioctl(file, cmd, arg);
    - unlock_kernel();
    -
    - return ret;
    -}
    -
    -
    #ifdef CONFIG_COMPAT
    static long mon_bin_compat_ioctl(struct file *file,
    unsigned int cmd, unsigned long arg)
    @@ -1250,7 +1232,7 @@ static const struct file_operations mon_fops_binary = {
    .read = mon_bin_read,
    /* .write = mon_text_write, */
    .poll = mon_bin_poll,
    - .unlocked_ioctl = mon_bin_unlocked_ioctl,
    + .unlocked_ioctl = mon_bin_ioctl,
    #ifdef CONFIG_COMPAT
    .compat_ioctl = mon_bin_compat_ioctl,
    #endif
    --
    1.7.0.4


    \
     
     \ /
      Last update: 2010-06-01 23:09    [W:0.022 / U:92.356 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site