]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
USB: keyspan: fix bogus array index
authorJohan Hovold <jhovold@gmail.com>
Tue, 4 Jun 2013 16:50:29 +0000 (18:50 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 13 Jun 2013 17:49:04 +0000 (10:49 -0700)
commit a07088098a650267b2eda689538133a324b9523f upstream.

The outcont_endpoints array was indexed using the port minor number
(which can be greater than the array size) rather than the device port
number.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/serial/keyspan.c

index 1fd1935c8316f525e5795c22fa0dada0093b6be9..34ed26e9d8cb8039e745a137576239c090a79d1b 100644 (file)
@@ -1594,7 +1594,7 @@ static int keyspan_usa26_send_setup(struct usb_serial *serial,
        d_details = s_priv->device_details;
        device_port = port->number - port->serial->minor;
 
-       outcont_urb = d_details->outcont_endpoints[port->number];
+       outcont_urb = d_details->outcont_endpoints[device_port];
        this_urb = p_priv->outcont_urb;
 
        dev_dbg(&port->dev, "%s - endpoint %d\n", __func__, usb_pipeendpoint(this_urb->pipe));