瀏覽代碼

usb/ch9: use proper endianess for wBytesPerInterval

while going through Tatyana's changes for the gadget framework I noticed
that this type is not defined as __le16.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Sebastian Andrzej Siewior 14 年之前
父節點
當前提交
64b3c304be
共有 3 個文件被更改,包括 3 次插入3 次删除
  1. 1 1
      drivers/usb/core/config.c
  2. 1 1
      drivers/usb/host/xhci-mem.c
  3. 1 1
      include/linux/usb/ch9.h

+ 1 - 1
drivers/usb/core/config.c

@@ -129,7 +129,7 @@ static void usb_parse_ss_endpoint_companion(struct device *ddev, int cfgno,
 		max_tx = ep->desc.wMaxPacketSize * (desc->bMaxBurst + 1);
 		max_tx = ep->desc.wMaxPacketSize * (desc->bMaxBurst + 1);
 	else
 	else
 		max_tx = 999999;
 		max_tx = 999999;
-	if (desc->wBytesPerInterval > max_tx) {
+	if (le16_to_cpu(desc->wBytesPerInterval) > max_tx) {
 		dev_warn(ddev, "%s endpoint with wBytesPerInterval of %d in "
 		dev_warn(ddev, "%s endpoint with wBytesPerInterval of %d in "
 				"config %d interface %d altsetting %d ep %d: "
 				"config %d interface %d altsetting %d ep %d: "
 				"setting to %d\n",
 				"setting to %d\n",

+ 1 - 1
drivers/usb/host/xhci-mem.c

@@ -1130,7 +1130,7 @@ static u32 xhci_get_max_esit_payload(struct xhci_hcd *xhci,
 		return 0;
 		return 0;
 
 
 	if (udev->speed == USB_SPEED_SUPER)
 	if (udev->speed == USB_SPEED_SUPER)
-		return ep->ss_ep_comp.wBytesPerInterval;
+		return le16_to_cpu(ep->ss_ep_comp.wBytesPerInterval);
 
 
 	max_packet = GET_MAX_PACKET(le16_to_cpu(ep->desc.wMaxPacketSize));
 	max_packet = GET_MAX_PACKET(le16_to_cpu(ep->desc.wMaxPacketSize));
 	max_burst = (le16_to_cpu(ep->desc.wMaxPacketSize) & 0x1800) >> 11;
 	max_burst = (le16_to_cpu(ep->desc.wMaxPacketSize) & 0x1800) >> 11;

+ 1 - 1
include/linux/usb/ch9.h

@@ -579,7 +579,7 @@ struct usb_ss_ep_comp_descriptor {
 
 
 	__u8  bMaxBurst;
 	__u8  bMaxBurst;
 	__u8  bmAttributes;
 	__u8  bmAttributes;
-	__u16 wBytesPerInterval;
+	__le16 wBytesPerInterval;
 } __attribute__ ((packed));
 } __attribute__ ((packed));
 
 
 #define USB_DT_SS_EP_COMP_SIZE		6
 #define USB_DT_SS_EP_COMP_SIZE		6