aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathan Corbet <corbet@lwn.net>2008-05-16 16:21:30 -0400
committerJonathan Corbet <corbet@lwn.net>2008-06-20 16:05:52 -0400
commitb2f2ba01b2a4356e92231669f7e3dcee37ac2fca (patch)
treede198efeed37ffb2dd34c8f12f32bcde46dc5ac5
parent26ce4f0684ef4b96d0244ac58b89ec282d5b980c (diff)
printer gadget: BKL pushdown
Add explicit lock_kernel() calls to printer_open() Signed-off-by: Jonathan Corbet <corbet@lwn.net>
-rw-r--r--drivers/usb/gadget/printer.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/usb/gadget/printer.c b/drivers/usb/gadget/printer.c
index 76be75e3ab8f..ec8f2eb041ca 100644
--- a/drivers/usb/gadget/printer.c
+++ b/drivers/usb/gadget/printer.c
@@ -462,6 +462,7 @@ printer_open(struct inode *inode, struct file *fd)
462 unsigned long flags; 462 unsigned long flags;
463 int ret = -EBUSY; 463 int ret = -EBUSY;
464 464
465 lock_kernel();
465 dev = container_of(inode->i_cdev, struct printer_dev, printer_cdev); 466 dev = container_of(inode->i_cdev, struct printer_dev, printer_cdev);
466 467
467 spin_lock_irqsave(&dev->lock, flags); 468 spin_lock_irqsave(&dev->lock, flags);
@@ -477,7 +478,7 @@ printer_open(struct inode *inode, struct file *fd)
477 spin_unlock_irqrestore(&dev->lock, flags); 478 spin_unlock_irqrestore(&dev->lock, flags);
478 479
479 DBG(dev, "printer_open returned %x\n", ret); 480 DBG(dev, "printer_open returned %x\n", ret);
480 481 unlock_kernel();
481 return ret; 482 return ret;
482} 483}
483 484