USB: serial: fix Treo/Kyocera interrrupt-in urb context
authorJohan Hovold <jhovold@gmail.com>
Mon, 27 May 2013 12:44:37 +0000 (14:44 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 29 May 2013 01:47:45 +0000 (10:47 +0900)
The first and second interrupt-in urbs are swapped for some Treo/Kyocera
devices, but the urb context was never updated with the new port.

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

index 7573ec8a084f3f55c1f2597c2f2b699e58790351..8d1a3e63b0ad852ce10acd91567a6c028963825e 100644 (file)
@@ -564,6 +564,7 @@ static int treo_attach(struct usb_serial *serial)
                dest->bulk_in_endpointAddress = src->bulk_in_endpointAddress;\
                dest->bulk_in_buffer = src->bulk_in_buffer;             \
                dest->interrupt_in_urb = src->interrupt_in_urb;         \
+               dest->interrupt_in_urb->context = dest;                 \
                dest->interrupt_in_endpointAddress = \
                                        src->interrupt_in_endpointAddress;\
                dest->interrupt_in_buffer = src->interrupt_in_buffer;   \