瀏覽代碼

USB: usbtmc: fix stupid bug in open()

open() will never succeed, as we always return -ENODEV.  Fix this
obvious bug.

Thanks to Jouni Ryno for reporting it.

Reported-by: Jouni Ryno <Jouni.Ryno@fmi.fi>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Greg Kroah-Hartman 16 年之前
父節點
當前提交
5b10916ea0
共有 1 個文件被更改,包括 2 次插入1 次删除
  1. 2 1
      drivers/usb/class/usbtmc.c

+ 2 - 1
drivers/usb/class/usbtmc.c

@@ -106,12 +106,13 @@ static int usbtmc_open(struct inode *inode, struct file *filp)
 {
 {
 	struct usb_interface *intf;
 	struct usb_interface *intf;
 	struct usbtmc_device_data *data;
 	struct usbtmc_device_data *data;
-	int retval = -ENODEV;
+	int retval = 0;
 
 
 	intf = usb_find_interface(&usbtmc_driver, iminor(inode));
 	intf = usb_find_interface(&usbtmc_driver, iminor(inode));
 	if (!intf) {
 	if (!intf) {
 		printk(KERN_ERR KBUILD_MODNAME
 		printk(KERN_ERR KBUILD_MODNAME
 		       ": can not find device for minor %d", iminor(inode));
 		       ": can not find device for minor %d", iminor(inode));
+		retval = -ENODEV;
 		goto exit;
 		goto exit;
 	}
 	}