USB: sisusbvga: Remove the BKL from open
authorAlessio Igor Bogani <abogani@texware.it>
Sun, 25 Apr 2010 10:37:10 +0000 (12:37 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 20 May 2010 20:21:39 +0000 (13:21 -0700)
BKL is not needed here because necessary locking is already provided
by mutex sisusb->lock.

Signed-off-by: Alessio Igor Bogani <abogani@texware.it>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/misc/sisusbvga/sisusb.c

index 63a6070a478ae41ed9409de65b8b1fe630580034..30d930386b651789f236809f04aa7cf67eab7dce 100644 (file)
@@ -47,7 +47,6 @@
 #include <linux/spinlock.h>
 #include <linux/kref.h>
 #include <linux/usb.h>
-#include <linux/smp_lock.h>
 #include <linux/vmalloc.h>
 
 #include "sisusb.h"
@@ -2416,14 +2415,11 @@ sisusb_open(struct inode *inode, struct file *file)
        struct usb_interface *interface;
        int subminor = iminor(inode);
 
-       lock_kernel();
        if (!(interface = usb_find_interface(&sisusb_driver, subminor))) {
-               unlock_kernel();
                return -ENODEV;
        }
 
        if (!(sisusb = usb_get_intfdata(interface))) {
-               unlock_kernel();
                return -ENODEV;
        }
 
@@ -2431,13 +2427,11 @@ sisusb_open(struct inode *inode, struct file *file)
 
        if (!sisusb->present || !sisusb->ready) {
                mutex_unlock(&sisusb->lock);
-               unlock_kernel();
                return -ENODEV;
        }
 
        if (sisusb->isopen) {
                mutex_unlock(&sisusb->lock);
-               unlock_kernel();
                return -EBUSY;
        }
 
@@ -2446,13 +2440,11 @@ sisusb_open(struct inode *inode, struct file *file)
                        if (sisusb_init_gfxdevice(sisusb, 0)) {
                                mutex_unlock(&sisusb->lock);
                                dev_err(&sisusb->sisusb_dev->dev, "Failed to initialize device\n");
-                               unlock_kernel();
                                return -EIO;
                        }
                } else {
                        mutex_unlock(&sisusb->lock);
                        dev_err(&sisusb->sisusb_dev->dev, "Device not attached to USB 2.0 hub\n");
-                       unlock_kernel();
                        return -EIO;
                }
        }
@@ -2465,7 +2457,6 @@ sisusb_open(struct inode *inode, struct file *file)
        file->private_data = sisusb;
 
        mutex_unlock(&sisusb->lock);
-       unlock_kernel();
 
        return 0;
 }