[media] go7007: fix return 0 for unsupported devices in go7007_usb_probe()
authorAlexey Khoroshilov <khoroshilov@ispras.ru>
Wed, 19 Jun 2013 19:57:40 +0000 (16:57 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Fri, 21 Jun 2013 14:33:06 +0000 (11:33 -0300)
probe() should not return 0 for unsupported devices, but go7007_usb_probe() does.
The patch fixes it to return -ENODEV.
Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/staging/media/go7007/go7007-usb.c

index 50066e01a6edd1e86caccb9b2bd937ec97c6bea1..46ed8324503500290885268e36cd0587639c8b8f 100644 (file)
@@ -1124,7 +1124,7 @@ static int go7007_usb_probe(struct usb_interface *intf,
        case GO7007_BOARDID_LIFEVIEW_LR192:
                printk(KERN_ERR "go7007-usb: The Lifeview TV Walker Ultra "
                                "is not supported.  Sorry!\n");
-               return 0;
+               return -ENODEV;
                name = "Lifeview TV Walker Ultra";
                board = &board_lifeview_lr192;
                break;
@@ -1140,7 +1140,7 @@ static int go7007_usb_probe(struct usb_interface *intf,
        default:
                printk(KERN_ERR "go7007-usb: unknown board ID %d!\n",
                                (unsigned int)id->driver_info);
-               return 0;
+               return -ENODEV;
        }
 
        go = go7007_alloc(&board->main_info, &intf->dev);