[PATCH 042/122] USB: Interface Association Descriptors added to CDC & RNDIS

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Greg Kroah-Hartman
Date: Friday, December 11, 2009 - 3:24 pm

From: Michal Nazarewicz <m.nazarewicz@samsung.com>

Without Interface Association Descriptor, the CDC serial and
RNDIS functions did not work correctly when added to a
composite gadget with other functions.  This is because, it
defined two interfaces and some hosts tried to treat each
interface separatelly.

Signed-off-by: Michal Nazarewicz <m.nazarewicz@samsung.com>
Cc: David Brownell <dbrownell@users.sourceforge.net>
Cc: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
 drivers/usb/gadget/f_acm.c   |   28 ++++++++++++++++++++++++++++
 drivers/usb/gadget/f_rndis.c |   35 +++++++++++++++++++++++++++++++----
 2 files changed, 59 insertions(+), 4 deletions(-)

diff --git a/drivers/usb/gadget/f_acm.c b/drivers/usb/gadget/f_acm.c
index 4e36578..d10353d 100644
--- a/drivers/usb/gadget/f_acm.c
+++ b/drivers/usb/gadget/f_acm.c
@@ -4,6 +4,8 @@
  * Copyright (C) 2003 Al Borchers (alborchers@steinerpoint.com)
  * Copyright (C) 2008 by David Brownell
  * Copyright (C) 2008 by Nokia Corporation
+ * Copyright (C) 2009 by Samsung Electronics
+ * Author: Michal Nazarewicz (m.nazarewicz@samsung.com)
  *
  * This software is distributed under the terms of the GNU General
  * Public License ("GPL") as published by the Free Software Foundation,
@@ -99,6 +101,20 @@ static inline struct f_acm *port_to_acm(struct gserial *p)
 
 /* interface and class descriptors: */
 
+static struct usb_interface_assoc_descriptor
+acm_iad_descriptor = {
+	.bLength =		sizeof acm_iad_descriptor,
+	.bDescriptorType =	USB_DT_INTERFACE_ASSOCIATION,
+
+	/* .bFirstInterface =	DYNAMIC, */
+	.bInterfaceCount = 	2,	// control + data
+	.bFunctionClass =	USB_CLASS_COMM,
+	.bFunctionSubClass =	USB_CDC_SUBCLASS_ACM,
+	.bFunctionProtocol =	USB_CDC_PROTO_NONE,
+	/* .iFunction =		DYNAMIC */
+};
+
+
 static struct usb_interface_descriptor acm_control_interface_desc __initdata = {
 	.bLength =		USB_DT_INTERFACE_SIZE,
 	.bDescriptorType =	USB_DT_INTERFACE,
@@ -178,6 +194,7 @@ static struct usb_endpoint_descriptor acm_fs_out_desc __initdata = {
 };
 
 static struct usb_descriptor_header *acm_fs_function[] __initdata = {
+	(struct usb_descriptor_header *) &acm_iad_descriptor,
 	(struct usb_descriptor_header *) &acm_control_interface_desc,
 	(struct usb_descriptor_header *) &acm_header_desc,
 	(struct usb_descriptor_header *) &acm_call_mgmt_descriptor,
@@ -216,6 +233,7 @@ static struct usb_endpoint_descriptor acm_hs_out_desc __initdata = {
 };
 
 static struct usb_descriptor_header *acm_hs_function[] __initdata = {
+	(struct usb_descriptor_header *) &acm_iad_descriptor,
 	(struct usb_descriptor_header *) &acm_control_interface_desc,
 	(struct usb_descriptor_header *) &acm_header_desc,
 	(struct usb_descriptor_header *) &acm_call_mgmt_descriptor,
@@ -232,11 +250,13 @@ static struct usb_descriptor_header *acm_hs_function[] __initdata = {
 
 #define ACM_CTRL_IDX	0
 #define ACM_DATA_IDX	1
+#define ACM_IAD_IDX	2
 
 /* static strings, in UTF-8 */
 static struct usb_string acm_string_defs[] = {
 	[ACM_CTRL_IDX].s = "CDC Abstract Control Model (ACM)",
 	[ACM_DATA_IDX].s = "CDC ACM Data",
+	[ACM_IAD_IDX ].s = "CDC Serial",
 	{  /* ZEROES END LIST */ },
 };
 
@@ -563,6 +583,7 @@ acm_bind(struct usb_configuration *c, struct usb_function *f)
 	if (status < 0)
 		goto fail;
 	acm->ctrl_id = status;
+	acm_iad_descriptor.bFirstInterface = status;
 
 	acm_control_interface_desc.bInterfaceNumber = status;
 	acm_union_desc .bMasterInterface0 = status;
@@ -732,6 +753,13 @@ int __init acm_bind_config(struct usb_configuration *c, u8 port_num)
 		acm_string_defs[ACM_DATA_IDX].id = status;
 
 		acm_data_interface_desc.iInterface = status;
+
+		status = usb_string_id(c->cdev);
+		if (status < 0)
+			return status;
+		acm_string_defs[ACM_IAD_IDX].id = status;
+
+		acm_iad_descriptor.iFunction = status;
 	}
 
 	/* allocate and initialize one new instance */
diff --git a/drivers/usb/gadget/f_rndis.c b/drivers/usb/gadget/f_rndis.c
index c9966cc..95dae4c 100644
--- a/drivers/usb/gadget/f_rndis.c
+++ b/drivers/usb/gadget/f_rndis.c
@@ -4,6 +4,8 @@
  * Copyright (C) 2003-2005,2008 David Brownell
  * Copyright (C) 2003-2004 Robert Schwebel, Benedikt Spranger
  * Copyright (C) 2008 Nokia Corporation
+ * Copyright (C) 2009 Samsung Electronics
+ *                    Author: Michal Nazarewicz (m.nazarewicz@samsung.com)
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -149,8 +151,8 @@ static struct usb_cdc_call_mgmt_descriptor call_mgmt_descriptor __initdata = {
 	.bDataInterface =	0x01,
 };
 
-static struct usb_cdc_acm_descriptor acm_descriptor __initdata = {
-	.bLength =		sizeof acm_descriptor,
+static struct usb_cdc_acm_descriptor rndis_acm_descriptor __initdata = {
+	.bLength =		sizeof rndis_acm_descriptor,
 	.bDescriptorType =	USB_DT_CS_INTERFACE,
 	.bDescriptorSubType =	USB_CDC_ACM_TYPE,
 
@@ -179,6 +181,20 @@ static struct usb_interface_descriptor rndis_data_intf __initdata = {
 	/* .iInterface = DYNAMIC */
 };
 
+
+static struct usb_interface_assoc_descriptor
+rndis_iad_descriptor = {
+	.bLength =		sizeof rndis_iad_descriptor,
+	.bDescriptorType =	USB_DT_INTERFACE_ASSOCIATION,
+
+	.bFirstInterface =	0, /* XXX, hardcoded */
+	.bInterfaceCount = 	2,	// control + data
+	.bFunctionClass =	USB_CLASS_COMM,
+	.bFunctionSubClass =	USB_CDC_SUBCLASS_ETHERNET,
+	.bFunctionProtocol =	USB_CDC_PROTO_NONE,
+	/* .iFunction = DYNAMIC */
+};
+
 /* full speed support: */
 
 static struct usb_endpoint_descriptor fs_notify_desc __initdata = {
@@ -208,11 +224,12 @@ static struct usb_endpoint_descriptor fs_out_desc __initdata = {
 };
 
 static struct usb_descriptor_header *eth_fs_function[] __initdata = {
+	(struct usb_descriptor_header *) &rndis_iad_descriptor,
 	/* control interface matches ACM, not Ethernet */
 	(struct usb_descriptor_header *) &rndis_control_intf,
 	(struct usb_descriptor_header *) &header_desc,
 	(struct usb_descriptor_header *) &call_mgmt_descriptor,
-	(struct usb_descriptor_header *) &acm_descriptor,
+	(struct usb_descriptor_header *) &rndis_acm_descriptor,
 	(struct usb_descriptor_header *) &rndis_union_desc,
 	(struct usb_descriptor_header *) &fs_notify_desc,
 	/* data interface has no altsetting */
@@ -252,11 +269,12 @@ static struct usb_endpoint_descriptor hs_out_desc __initdata = {
 };
 
 static struct usb_descriptor_header *eth_hs_function[] __initdata = {
+	(struct usb_descriptor_header *) &rndis_iad_descriptor,
 	/* control interface matches ACM, not Ethernet */
 	(struct usb_descriptor_header *) &rndis_control_intf,
 	(struct usb_descriptor_header *) &header_desc,
 	(struct usb_descriptor_header *) &call_mgmt_descriptor,
-	(struct usb_descriptor_header *) &acm_descriptor,
+	(struct usb_descriptor_header *) &rndis_acm_descriptor,
 	(struct usb_descriptor_header *) &rndis_union_desc,
 	(struct usb_descriptor_header *) &hs_notify_desc,
 	/* data interface has no altsetting */
@@ -271,6 +289,7 @@ static struct usb_descriptor_header *eth_hs_function[] __initdata = {
 static struct usb_string rndis_string_defs[] = {
 	[0].s = "RNDIS Communications Control",
 	[1].s = "RNDIS Ethernet Data",
+	[2].s = "RNDIS",
 	{  } /* end of list */
 };
 
@@ -587,6 +606,7 @@ rndis_bind(struct usb_configuration *c, struct usb_function *f)
 	if (status < 0)
 		goto fail;
 	rndis->ctrl_id = status;
+	rndis_iad_descriptor.bFirstInterface = status;
 
 	rndis_control_intf.bInterfaceNumber = status;
 	rndis_union_desc.bMasterInterface0 = status;
@@ -798,6 +818,13 @@ int __init rndis_bind_config(struct usb_configuration *c, u8 ethaddr[ETH_ALEN])
 			return status;
 		rndis_string_defs[1].id = status;
 		rndis_data_intf.iInterface = status;
+
+		/* IAD iFunction label */
+		status = usb_string_id(c->cdev);
+		if (status < 0)
+			return status;
+		rndis_string_defs[2].id = status;
+		rndis_iad_descriptor.iFunction = status;
 	}
 
 	/* allocate and initialize one new instance */
-- 
1.6.5.5

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[GIT PATCH] USB patches for 2.6.33-git, Greg KH, (Fri Dec 11, 2:26 pm)
[PATCH 001/122] USB: serial: ftdi_sio: add space/mark parity, Greg Kroah-Hartman, (Fri Dec 11, 3:23 pm)
[PATCH 003/122] USB: Convert a dev_info to a dev_dbg, Greg Kroah-Hartman, (Fri Dec 11, 3:23 pm)
[PATCH 004/122] USB: usb-storage: Associate the name of th ..., Greg Kroah-Hartman, (Fri Dec 11, 3:23 pm)
[PATCH 005/122] USB Storage: Make driver less chatty when ..., Greg Kroah-Hartman, (Fri Dec 11, 3:23 pm)
[PATCH 006/122] USB: Add support for Xilinx USB host contr ..., Greg Kroah-Hartman, (Fri Dec 11, 3:23 pm)
[PATCH 007/122] USB: Add missing static markers to ohci-pn ..., Greg Kroah-Hartman, (Fri Dec 11, 3:23 pm)
[PATCH 008/122] USB: make urb scatter-gather support more ..., Greg Kroah-Hartman, (Fri Dec 11, 3:23 pm)
[PATCH 009/122] USB: whci-hcd: support urbs with scatter-g ..., Greg Kroah-Hartman, (Fri Dec 11, 3:23 pm)
[PATCH 010/122] USB: allow interrupt transfers to WUSB devices, Greg Kroah-Hartman, (Fri Dec 11, 3:23 pm)
[PATCH 011/122] USB: whci-hcd: fix type and format warning ..., Greg Kroah-Hartman, (Fri Dec 11, 3:23 pm)
[PATCH 012/122] USB: skeleton: Correct use of ! and &amp;, Greg Kroah-Hartman, (Fri Dec 11, 3:23 pm)
[PATCH 013/122] USB gadget: Handle endpoint requests at th ..., Greg Kroah-Hartman, (Fri Dec 11, 3:23 pm)
[PATCH 014/122] USB audio gadget: handle endpoint control ..., Greg Kroah-Hartman, (Fri Dec 11, 3:23 pm)
[PATCH 015/122] USB: modifications for at91sam9g10, Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 016/122] USB: usbtmc: minor formatting cleanups, Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 017/122] usb: whci-hcd: decode more QHead fields in ..., Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 018/122] USB: wusb: add wusb_phy_rate sysfs file to ..., Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 019/122] USB OTG: add support for ulpi connected ex ..., Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 020/122] USB OTG: Add generic driver for ULPI OTG t ..., Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 021/122] USB: host: ehci: introduce omap ehci-hcd d ..., Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 022/122] USB: improved error handling in usb_port_s ..., Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 023/122] USB: xhci: Handle URB cancel, complete and ..., Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 024/122] USB: xhci: Re-purpose xhci_quiesce()., Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 025/122] USB: xhci: Add watchdog timer for URB canc ..., Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 026/122] USB: xhci: Remove unused HCD statistics code., Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 027/122] USB: ehci: Minor constant fix for SCHEDULE ..., Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 028/122] USB: ehci: Respect IST when scheduling new ..., Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 029/122] USB: don't use a fixed DMA mapping for hub ..., Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 031/122] USB: fix a bug in the scatter-gather library, Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 032/122] USB: Add EHCI support for MX27 and MX31 ba ..., Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 033/122] USB: g_file_storage: parts of file_storage ..., Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 035/122] USB: g_file_storage: per-LUN ro, removable ..., Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 036/122] USB: g_file_storage: more code from file_s ..., Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 037/122] USB: g_mass_storage: template f_mass_stora ..., Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 038/122] USB: g_mass_storage: testing code from f_m ..., Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 039/122] USB: g_mass_storage: parts of fsg_dev move ..., Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 040/122] USB: g_mass_storage: constant length buffe ..., Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 041/122] USB: g_mass_storage: fsg_common_init() created, Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 042/122] USB: Interface Association Descriptors add ..., Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 043/122] USB: serial: sierra driver memory reduction, Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 044/122] USB: EHCI: add native scatter-gather support, Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 045/122] USB: add scatter-gather support to usbmon, Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 046/122] USB: ehci: Allow EHCI to be built on OMAP3, Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 047/122] USB: Check results of dma_map_single, Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 048/122] USB: Exposing second ACM channel as tty fo ..., Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 049/122] USB: add hex/bcd detection to usb modalias ..., Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 050/122] USB: handle bcd incrementation in usb moda ..., Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 051/122] USB: FIX bitfield istl_flip:1, make it uns ..., Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 052/122] USB: Close usb_find_interface race, Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 053/122] USB: ark3116: Setup some basic infrastruct ..., Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 054/122] USB: ark3116: Make existing functions 1645 ..., Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 055/122] USB: ark3116: Replace cmget, Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 056/122] USB: ark3116: Add cmset and break, Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 057/122] USB: ark3116: Callbacks for interrupt and ..., Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 058/122] USB: ark3116: Cleanup of now unneeded func ..., Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 059/122] USB: option.c: add support for D-Link DWM- ..., Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 060/122] USB: hcd.c: quiet NULL pointer sparse noise, Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 061/122] USB: remove the auto_pm flag, Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 062/122] USB: r8a66597: clean up. remove unneeded n ..., Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 063/122] USB: fix possible null deref in init_usb_c ..., Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 064/122] usbtest: make module param pattern writeable, Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 065/122] USB: xhci: Add tests for TRB address trans ..., Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 066/122] USB: g_mass_storage: Mass Storage Function ..., Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 068/122] USB: g_mass_storage: lun_name_format and t ..., Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 069/122] USB: g_mass_storage: code cleaned up and c ..., Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 070/122] USB: g_mass_storage: most data moved to fs ..., Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 071/122] USB: composite: usb_composite_unregister() ..., Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 072/122] USB: g_mass_storage: thread_exits callback ..., Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 073/122] USB: g_multi: Multifunction Composite Gadg ..., Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 074/122] USB: xhci: Set transfer descriptor size fi ..., Greg Kroah-Hartman, (Fri Dec 11, 3:24 pm)
[PATCH 075/122] USB: xhci: Return -EPROTO on a split trans ..., Greg Kroah-Hartman, (Fri Dec 11, 3:25 pm)
[PATCH 076/122] USB: xhci: Return success for vendor-speci ..., Greg Kroah-Hartman, (Fri Dec 11, 3:25 pm)
[PATCH 077/122] USB: xhci: Handle errors that cause endpoi ..., Greg Kroah-Hartman, (Fri Dec 11, 3:25 pm)
[PATCH 078/122] USB: musb: tweak musb_read_fifo() to avoid ..., Greg Kroah-Hartman, (Fri Dec 11, 3:25 pm)
[PATCH 079/122] USB: musb: kill compile warning for Blackf ..., Greg Kroah-Hartman, (Fri Dec 11, 3:25 pm)
[PATCH 080/122] USB: musb: kill some useless comments in B ..., Greg Kroah-Hartman, (Fri Dec 11, 3:25 pm)
[PATCH 081/122] USB: musb: update Blackfin processor depen ..., Greg Kroah-Hartman, (Fri Dec 11, 3:25 pm)
[PATCH 082/122] USB: musb: add notes for Blackfin anomalies, Greg Kroah-Hartman, (Fri Dec 11, 3:25 pm)
[PATCH 083/122] USB: musb: add work around for Blackfin an ..., Greg Kroah-Hartman, (Fri Dec 11, 3:25 pm)
[PATCH 084/122] USB: musb: fix musb_platform_set_mode() de ..., Greg Kroah-Hartman, (Fri Dec 11, 3:25 pm)
[PATCH 085/122] USB: musb: clear the Blackfin interrupt pe ..., Greg Kroah-Hartman, (Fri Dec 11, 3:25 pm)
[PATCH 086/122] USB: musb: error out when anomaly 05000380 ..., Greg Kroah-Hartman, (Fri Dec 11, 3:25 pm)
[PATCH 087/122] USB: musb: Blackfin code needs NOP_USB_XCE ..., Greg Kroah-Hartman, (Fri Dec 11, 3:25 pm)
[PATCH 088/122] USB: musb: fix printf warning in debug code, Greg Kroah-Hartman, (Fri Dec 11, 3:25 pm)
[PATCH 089/122] USB: MUSB: save hardware revision at init, Greg Kroah-Hartman, (Fri Dec 11, 3:25 pm)
[PATCH 090/122] USB: musb_gadget_ep0: fix unhandled endpoi ..., Greg Kroah-Hartman, (Fri Dec 11, 3:25 pm)
[PATCH 091/122] USB: musb_gadget: implement set_wedge() method, Greg Kroah-Hartman, (Fri Dec 11, 3:25 pm)
[PATCH 092/122] USB: musb_gadget_ep0: stop abusing musb_ga ..., Greg Kroah-Hartman, (Fri Dec 11, 3:25 pm)
[PATCH 093/122] USB: musb_gadget: remove pointless loop, Greg Kroah-Hartman, (Fri Dec 11, 3:25 pm)
[PATCH 094/122] USB: usbtmc: repeat usb_bulk_msg until who ..., Greg Kroah-Hartman, (Fri Dec 11, 3:25 pm)
[PATCH 095/122] USB: twl4030: Enable USB regulators before ..., Greg Kroah-Hartman, (Fri Dec 11, 3:25 pm)
[PATCH 096/122] USB: add devpath sysfs attribute, Greg Kroah-Hartman, (Fri Dec 11, 3:25 pm)
[PATCH 097/122] USB: prepare for changover to Runtime PM f ..., Greg Kroah-Hartman, (Fri Dec 11, 3:25 pm)
[PATCH 098/122] USB: usb-storage: add BAD_SENSE flag, Greg Kroah-Hartman, (Fri Dec 11, 3:25 pm)
[PATCH 099/122] USB: usb-storage: fix bug in fill_inquiry, Greg Kroah-Hartman, (Fri Dec 11, 3:25 pm)
[PATCH 100/122] USB: whci-hcd: correctly handle sg lists l ..., Greg Kroah-Hartman, (Fri Dec 11, 3:25 pm)
[PATCH 101/122] USB: wusb: don't leak urb in certain error ..., Greg Kroah-Hartman, (Fri Dec 11, 3:25 pm)
[PATCH 102/122] USB: wusb: correctly check size of securit ..., Greg Kroah-Hartman, (Fri Dec 11, 3:25 pm)
[PATCH 103/122] USB: option: add pid for ZTE, Greg Kroah-Hartman, (Fri Dec 11, 3:25 pm)
[PATCH 104/122] USB: g_multi kconfig: fix depends and help ..., Greg Kroah-Hartman, (Fri Dec 11, 3:25 pm)
[PATCH 105/122] USB: add remove_id sysfs attr for usb drivers, Greg Kroah-Hartman, (Fri Dec 11, 3:25 pm)
[PATCH 106/122] USB: xhci-mem.c: introduce missing kfree, Greg Kroah-Hartman, (Fri Dec 11, 3:25 pm)
[PATCH 107/122] USB: ehci-omap.c: introduce missing kfree, Greg Kroah-Hartman, (Fri Dec 11, 3:25 pm)
[PATCH 108/122] USB: xhci: Add correct email and files to ..., Greg Kroah-Hartman, (Fri Dec 11, 3:25 pm)
[PATCH 109/122] USB: usbtmc: Use usb_clear_halt() instead ..., Greg Kroah-Hartman, (Fri Dec 11, 3:25 pm)
[PATCH 111/122] USB: xhci: Fix command completion after a ..., Greg Kroah-Hartman, (Fri Dec 11, 3:25 pm)
[PATCH 112/122] USB: Refactor code to find alternate inter ..., Greg Kroah-Hartman, (Fri Dec 11, 3:25 pm)
[PATCH 113/122] USB: Check bandwidth when switching alt se ..., Greg Kroah-Hartman, (Fri Dec 11, 3:25 pm)
[PATCH 114/122] USB: Added USB_ETH_RNDIS to use instead of ..., Greg Kroah-Hartman, (Fri Dec 11, 3:25 pm)
[PATCH 115/122] USB: core: fix sparse warning for static f ..., Greg Kroah-Hartman, (Fri Dec 11, 3:25 pm)
[PATCH 116/122] USB: core: hub: fix sparse warning, Greg Kroah-Hartman, (Fri Dec 11, 3:25 pm)
[PATCH 117/122] USB: core: message: fix sparse warning, Greg Kroah-Hartman, (Fri Dec 11, 3:25 pm)
[PATCH 118/122] USB: musb: omap2430: fix sparse warning, Greg Kroah-Hartman, (Fri Dec 11, 3:25 pm)
[PATCH 119/122] USB: musb: musb_gadget: fix sparse warning, Greg Kroah-Hartman, (Fri Dec 11, 3:25 pm)
[PATCH 120/122] USB: musb: musb_host: fix sparse warning, Greg Kroah-Hartman, (Fri Dec 11, 3:25 pm)
Re: [PATCH 093/122] USB: musb_gadget: remove pointless loop, Sergei Shtylyov, (Sat Dec 12, 4:08 pm)
Re: [GIT PATCH] USB patches for 2.6.33-git, Linus Torvalds, (Mon Dec 14, 5:39 pm)
Re: [GIT PATCH] USB patches for 2.6.33-git, Greg KH, (Mon Dec 14, 5:52 pm)
Re: [GIT PATCH] USB patches for 2.6.33-git, Linus Torvalds, (Mon Dec 14, 6:00 pm)
Re: [GIT PATCH] USB patches for 2.6.33-git, Linus Torvalds, (Mon Dec 14, 6:47 pm)
Re: [GIT PATCH] USB patches for 2.6.33-git, Linus Torvalds, (Mon Dec 14, 7:29 pm)
Re: [GIT PATCH] USB patches for 2.6.33-git, Linus Torvalds, (Mon Dec 14, 8:09 pm)