summaryrefslogtreecommitdiff
path: root/drivers/usb/gadget/function/f_printer.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2015-08-18 09:39:47 +0200
committerIngo Molnar <mingo@kernel.org>2015-08-18 09:39:47 +0200
commita5dd19249607474ed680f16b4f5e8477d2b68689 (patch)
tree1aeeef053773c07bc02f3aa637febc80ceb96732 /drivers/usb/gadget/function/f_printer.c
parent6b7e26547fad7ace3dcb27a5babd2317fb9d1e12 (diff)
parent512255a2ad2c832ca7d4de9f31245f73781922d0 (diff)
downloadlwn-a5dd19249607474ed680f16b4f5e8477d2b68689.tar.gz
lwn-a5dd19249607474ed680f16b4f5e8477d2b68689.zip
Merge branch 'x86/urgent' into x86/asm to fix up conflicts and to pick up fixes
Conflicts: arch/x86/entry/entry_64_compat.S arch/x86/math-emu/get_address.c Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'drivers/usb/gadget/function/f_printer.c')
-rw-r--r--drivers/usb/gadget/function/f_printer.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/usb/gadget/function/f_printer.c b/drivers/usb/gadget/function/f_printer.c
index 44173df27273..357f63f47b42 100644
--- a/drivers/usb/gadget/function/f_printer.c
+++ b/drivers/usb/gadget/function/f_printer.c
@@ -1248,7 +1248,15 @@ static struct config_item_type printer_func_type = {
static inline int gprinter_get_minor(void)
{
- return ida_simple_get(&printer_ida, 0, 0, GFP_KERNEL);
+ int ret;
+
+ ret = ida_simple_get(&printer_ida, 0, 0, GFP_KERNEL);
+ if (ret >= PRINTER_MINORS) {
+ ida_simple_remove(&printer_ida, ret);
+ ret = -ENODEV;
+ }
+
+ return ret;
}
static inline void gprinter_put_minor(int minor)