[PATCH] usb gadget : Fix USBCV failure for InterfaceDescriptorTest with g_ether

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This patch fixes a bug in the u_ether code.

The USBCV Interface Descriptor test was failing due to an incorrect Alternate setting 
returned in response to a GET_INTERFACE request. 

See the link http://marc.info/?l=linux-usb&m=124099822600577&w=2 

The Alternate setting was corrupted due to a missing error handling.

The USBCV Interface descriptor test passes with this fix.

Tested working fine on SDP with OMAP 3430.  

Signed-off-by: Maulik Mankad <x0082077@xxxxxx>
CC: David Brownell <david-b@xxxxxxxxxxx>

Index: linux-2.6/drivers/usb/gadget/u_ether.c
===================================================================
--- linux-2.6.orig/drivers/usb/gadget/u_ether.c
+++ linux-2.6/drivers/usb/gadget/u_ether.c
@@ -913,8 +913,14 @@ void gether_disconnect(struct gether *li
 	struct usb_request	*req;
 
 	WARN_ON(!dev);
-	if (!dev)
+	if (!dev) {
+		if (link->in_ep->driver_data)
+			link->in_ep->driver_data = NULL;
+
+		if (link->out_ep->driver_data)
+			link->out_ep->driver_data = NULL;
 		return;
+	}
 
 	DBG(dev, "%s\n", __func__);
 
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux