| From 3b716caf190ccc6f2a09387210e0e6a26c1d81a4 Mon Sep 17 00:00:00 2001 |
| From: Johan Hovold <jhovold@gmail.com> |
| Date: Mon, 19 Aug 2013 13:05:45 +0200 |
| Subject: USB: mos7720: fix big-endian control requests |
| |
| From: Johan Hovold <jhovold@gmail.com> |
| |
| commit 3b716caf190ccc6f2a09387210e0e6a26c1d81a4 upstream. |
| |
| Fix endianess bugs in parallel-port code which caused corrupt |
| control-requests to be issued on big-endian machines. |
| |
| Reported-by: kbuild test robot <fengguang.wu@intel.com> |
| Signed-off-by: Johan Hovold <jhovold@gmail.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/usb/serial/mos7720.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| --- a/drivers/usb/serial/mos7720.c |
| +++ b/drivers/usb/serial/mos7720.c |
| @@ -382,8 +382,8 @@ static int write_parport_reg_nonblock(st |
| } |
| urbtrack->setup->bRequestType = (__u8)0x40; |
| urbtrack->setup->bRequest = (__u8)0x0e; |
| - urbtrack->setup->wValue = get_reg_value(reg, dummy); |
| - urbtrack->setup->wIndex = get_reg_index(reg); |
| + urbtrack->setup->wValue = cpu_to_le16(get_reg_value(reg, dummy)); |
| + urbtrack->setup->wIndex = cpu_to_le16(get_reg_index(reg)); |
| urbtrack->setup->wLength = 0; |
| usb_fill_control_urb(urbtrack->urb, usbdev, |
| usb_sndctrlpipe(usbdev, 0), |