summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohan Hovold <johan@kernel.org>2017-03-17 11:35:44 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-03-23 13:54:03 +0100
commit9fdc1c6fdfa0bdf1854c3c06f002e6a76155fa2b (patch)
tree4a1e315b60b3459eb62a5fd82b976e8f0ca793b2
parentaac96ef9ed3aba10d97cbc5afaf79365701a2f14 (diff)
downloadlinux-9fdc1c6fdfa0bdf1854c3c06f002e6a76155fa2b.tar.bz2
USB: uss720: add debug endpoint-type check
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>
-rw-r--r--drivers/usb/misc/uss720.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/usb/misc/uss720.c b/drivers/usb/misc/uss720.c
index e45a3a680db8..00ce314d89e7 100644
--- a/drivers/usb/misc/uss720.c
+++ b/drivers/usb/misc/uss720.c
@@ -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);