USB: uss720: add debug endpoint-type check
authorJohan Hovold <johan@kernel.org>
Fri, 17 Mar 2017 10:35:44 +0000 (11:35 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 23 Mar 2017 12:54:03 +0000 (13:54 +0100)
Use the new endpoint helpers to lookup the interrupt-in endpoint,
and only print the corresponding debugging information in case it is
found.

Note that the descriptors are searched in reverse order to avoid any
regressions.

Signed-off-by: Johan Hovold <johan@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/misc/uss720.c

index e45a3a6..00ce314 100644 (file)
@@ -689,7 +689,7 @@ static int uss720_probe(struct usb_interface *intf,
 {
        struct usb_device *usbdev = usb_get_dev(interface_to_usbdev(intf));
        struct usb_host_interface *interface;
-       struct usb_host_endpoint *endpoint;
+       struct usb_endpoint_descriptor *epd;
        struct parport_uss720_private *priv;
        struct parport *pp;
        unsigned char reg;
@@ -740,9 +740,11 @@ static int uss720_probe(struct usb_interface *intf,
        get_1284_register(pp, 0, &reg, GFP_KERNEL);
        dev_dbg(&intf->dev, "reg: %7ph\n", priv->reg);
 
-       endpoint = &interface->endpoint[2];
-       dev_dbg(&intf->dev, "epaddr %d interval %d\n",
-               endpoint->desc.bEndpointAddress, endpoint->desc.bInterval);
+       i = usb_find_last_int_in_endpoint(interface, &epd);
+       if (!i) {
+               dev_dbg(&intf->dev, "epaddr %d interval %d\n",
+                               epd->bEndpointAddress, epd->bInterval);
+       }
        parport_announce_port(pp);
 
        usb_set_intfdata(intf, pp);