Browse Source

usb: gadget: pxa25x: fix disconnect reporting

when commit 6166c24 (usb: gadget: pxa25x_udc:
convert to udc_start/udc_stop) converted
this driver to udc_start/udc_stop, it failed
to consider the fact that stop_activity()
is called from disconnect interrupt.

Fix the problem so that gadget drivers know
about proper disconnect sequences.

Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi 12 years ago
parent
commit
66e4afc77f
1 changed files with 4 additions and 0 deletions
  1. 4 0
      drivers/usb/gadget/pxa25x_udc.c

+ 4 - 0
drivers/usb/gadget/pxa25x_udc.c

@@ -1303,6 +1303,10 @@ stop_activity(struct pxa25x_udc *dev, struct usb_gadget_driver *driver)
 	}
 	del_timer_sync(&dev->timer);
 
+	/* report disconnect; the driver is already quiesced */
+	if (driver)
+		driver->disconnect(&dev->gadget);
+
 	/* re-init driver-visible data structures */
 	udc_reinit(dev);
 }