V4L/DVB (9717): em28xx: improve message probing logs
On some em28xx devices, there's an unused interface. This is printed on the logs as an error. We can just ignore that interface. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
@@ -2196,12 +2196,6 @@ static int em28xx_usb_probe(struct usb_interface *interface,
|
|||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
}
|
}
|
||||||
|
|
||||||
em28xx_err(DRIVER_NAME " new video device (%04x:%04x): interface %i, class %i\n",
|
|
||||||
udev->descriptor.idVendor,
|
|
||||||
udev->descriptor.idProduct,
|
|
||||||
ifnum,
|
|
||||||
interface->altsetting[0].desc.bInterfaceClass);
|
|
||||||
|
|
||||||
endpoint = &interface->cur_altsetting->endpoint[0].desc;
|
endpoint = &interface->cur_altsetting->endpoint[0].desc;
|
||||||
|
|
||||||
/* check if the device has the iso in endpoint at the correct place */
|
/* check if the device has the iso in endpoint at the correct place */
|
||||||
@@ -2212,21 +2206,39 @@ static int em28xx_usb_probe(struct usb_interface *interface,
|
|||||||
/* It's a newer em2874/em2875 device */
|
/* It's a newer em2874/em2875 device */
|
||||||
isoc_pipe = 0;
|
isoc_pipe = 0;
|
||||||
} else {
|
} else {
|
||||||
|
int check_interface = 1;
|
||||||
isoc_pipe = 1;
|
isoc_pipe = 1;
|
||||||
endpoint = &interface->cur_altsetting->endpoint[1].desc;
|
endpoint = &interface->cur_altsetting->endpoint[1].desc;
|
||||||
if ((endpoint->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) !=
|
if ((endpoint->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) !=
|
||||||
USB_ENDPOINT_XFER_ISOC) {
|
USB_ENDPOINT_XFER_ISOC)
|
||||||
em28xx_err(DRIVER_NAME " probing error: endpoint is non-ISO endpoint!\n");
|
check_interface = 0;
|
||||||
em28xx_devused &= ~(1<<nr);
|
|
||||||
return -ENODEV;
|
if ((endpoint->bEndpointAddress & USB_ENDPOINT_DIR_MASK) == USB_DIR_OUT)
|
||||||
}
|
check_interface = 0;
|
||||||
if ((endpoint->bEndpointAddress & USB_ENDPOINT_DIR_MASK) == USB_DIR_OUT) {
|
|
||||||
em28xx_err(DRIVER_NAME " probing error: endpoint is ISO OUT endpoint!\n");
|
if (!check_interface) {
|
||||||
|
em28xx_err(DRIVER_NAME " video device (%04x:%04x): "
|
||||||
|
"interface %i, class %i found.\n",
|
||||||
|
udev->descriptor.idVendor,
|
||||||
|
udev->descriptor.idProduct,
|
||||||
|
ifnum,
|
||||||
|
interface->altsetting[0].desc.bInterfaceClass);
|
||||||
|
|
||||||
|
em28xx_err(DRIVER_NAME " This is an anciliary "
|
||||||
|
"interface not used by the driver\n");
|
||||||
|
|
||||||
em28xx_devused &= ~(1<<nr);
|
em28xx_devused &= ~(1<<nr);
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
em28xx_err(DRIVER_NAME " new video device (%04x:%04x): interface %i, class %i\n",
|
||||||
|
udev->descriptor.idVendor,
|
||||||
|
udev->descriptor.idProduct,
|
||||||
|
ifnum,
|
||||||
|
interface->altsetting[0].desc.bInterfaceClass);
|
||||||
|
|
||||||
if (nr >= EM28XX_MAXBOARDS) {
|
if (nr >= EM28XX_MAXBOARDS) {
|
||||||
printk(DRIVER_NAME ": Supports only %i em28xx boards.\n",
|
printk(DRIVER_NAME ": Supports only %i em28xx boards.\n",
|
||||||
EM28XX_MAXBOARDS);
|
EM28XX_MAXBOARDS);
|
||||||
|
Reference in New Issue
Block a user