]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - drivers/usb/gadget/printer.c
USB: autoconvert trivial BKL users to private mutex
[net-next-2.6.git] / drivers / usb / gadget / printer.c
index 88f05996aa025c6359839327219873b9644339a8..cf241c371a71ffba80b55ef213d9d1f3019aa608 100644 (file)
@@ -25,7 +25,7 @@
 #include <linux/ioport.h>
 #include <linux/sched.h>
 #include <linux/slab.h>
-#include <linux/smp_lock.h>
+#include <linux/mutex.h>
 #include <linux/errno.h>
 #include <linux/init.h>
 #include <linux/timer.h>
@@ -70,6 +70,7 @@
 #define DRIVER_DESC            "Printer Gadget"
 #define DRIVER_VERSION         "2007 OCT 06"
 
+static DEFINE_MUTEX(printer_mutex);
 static const char shortname [] = "printer";
 static const char driver_desc [] = DRIVER_DESC;
 
@@ -476,7 +477,7 @@ printer_open(struct inode *inode, struct file *fd)
        unsigned long           flags;
        int                     ret = -EBUSY;
 
-       lock_kernel();
+       mutex_lock(&printer_mutex);
        dev = container_of(inode->i_cdev, struct printer_dev, printer_cdev);
 
        spin_lock_irqsave(&dev->lock, flags);
@@ -492,7 +493,7 @@ printer_open(struct inode *inode, struct file *fd)
        spin_unlock_irqrestore(&dev->lock, flags);
 
        DBG(dev, "printer_open returned %x\n", ret);
-       unlock_kernel();
+       mutex_unlock(&printer_mutex);
        return ret;
 }