Commit c2988998 authored by Oliver Neukum's avatar Oliver Neukum Committed by Ben Hutchings

cdc-wdm: fix endianness bug in debug statements

commit 323ece54 upstream.

Values directly from descriptors given in debug statements
must be converted to native endianness.
Signed-off-by: default avatarOliver Neukum <oneukum@suse.de>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
[bwh: Backported to 3.2: adjust context]
Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
parent e9a498d9
...@@ -224,7 +224,7 @@ static void wdm_int_callback(struct urb *urb) ...@@ -224,7 +224,7 @@ static void wdm_int_callback(struct urb *urb)
case USB_CDC_NOTIFY_RESPONSE_AVAILABLE: case USB_CDC_NOTIFY_RESPONSE_AVAILABLE:
dev_dbg(&desc->intf->dev, dev_dbg(&desc->intf->dev,
"NOTIFY_RESPONSE_AVAILABLE received: index %d len %d", "NOTIFY_RESPONSE_AVAILABLE received: index %d len %d",
dr->wIndex, dr->wLength); le16_to_cpu(dr->wIndex), le16_to_cpu(dr->wLength));
break; break;
case USB_CDC_NOTIFY_NETWORK_CONNECTION: case USB_CDC_NOTIFY_NETWORK_CONNECTION:
...@@ -237,14 +237,16 @@ static void wdm_int_callback(struct urb *urb) ...@@ -237,14 +237,16 @@ static void wdm_int_callback(struct urb *urb)
clear_bit(WDM_POLL_RUNNING, &desc->flags); clear_bit(WDM_POLL_RUNNING, &desc->flags);
dev_err(&desc->intf->dev, dev_err(&desc->intf->dev,
"unknown notification %d received: index %d len %d\n", "unknown notification %d received: index %d len %d\n",
dr->bNotificationType, dr->wIndex, dr->wLength); dr->bNotificationType,
le16_to_cpu(dr->wIndex),
le16_to_cpu(dr->wLength));
goto exit; goto exit;
} }
req->bRequestType = (USB_DIR_IN | USB_TYPE_CLASS | USB_RECIP_INTERFACE); req->bRequestType = (USB_DIR_IN | USB_TYPE_CLASS | USB_RECIP_INTERFACE);
req->bRequest = USB_CDC_GET_ENCAPSULATED_RESPONSE; req->bRequest = USB_CDC_GET_ENCAPSULATED_RESPONSE;
req->wValue = 0; req->wValue = 0;
req->wIndex = desc->inum; req->wIndex = desc->inum; /* already converted */
req->wLength = cpu_to_le16(desc->wMaxCommand); req->wLength = cpu_to_le16(desc->wMaxCommand);
usb_fill_control_urb( usb_fill_control_urb(
...@@ -401,7 +403,7 @@ static ssize_t wdm_write ...@@ -401,7 +403,7 @@ static ssize_t wdm_write
USB_RECIP_INTERFACE); USB_RECIP_INTERFACE);
req->bRequest = USB_CDC_SEND_ENCAPSULATED_COMMAND; req->bRequest = USB_CDC_SEND_ENCAPSULATED_COMMAND;
req->wValue = 0; req->wValue = 0;
req->wIndex = desc->inum; req->wIndex = desc->inum; /* already converted */
req->wLength = cpu_to_le16(count); req->wLength = cpu_to_le16(count);
set_bit(WDM_IN_USE, &desc->flags); set_bit(WDM_IN_USE, &desc->flags);
desc->outbuf = buf; desc->outbuf = buf;
...@@ -414,7 +416,7 @@ static ssize_t wdm_write ...@@ -414,7 +416,7 @@ static ssize_t wdm_write
dev_err(&desc->intf->dev, "Tx URB error: %d\n", rv); dev_err(&desc->intf->dev, "Tx URB error: %d\n", rv);
} else { } else {
dev_dbg(&desc->intf->dev, "Tx URB has been submitted index=%d", dev_dbg(&desc->intf->dev, "Tx URB has been submitted index=%d",
req->wIndex); le16_to_cpu(req->wIndex));
} }
out: out:
usb_autopm_put_interface(desc->intf); usb_autopm_put_interface(desc->intf);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment