|
@@ -1825,13 +1825,10 @@ fail:
|
|
* Disables all udc endpoints (even control endpoint), report disconnect to
|
|
* Disables all udc endpoints (even control endpoint), report disconnect to
|
|
* the gadget user.
|
|
* the gadget user.
|
|
*/
|
|
*/
|
|
-static void stop_activity(struct pxa_udc *udc, struct usb_gadget_driver *driver)
|
|
|
|
|
|
+static void stop_activity(struct pxa_udc *udc)
|
|
{
|
|
{
|
|
int i;
|
|
int i;
|
|
|
|
|
|
- /* don't disconnect drivers more than once */
|
|
|
|
- if (udc->gadget.speed == USB_SPEED_UNKNOWN)
|
|
|
|
- driver = NULL;
|
|
|
|
udc->gadget.speed = USB_SPEED_UNKNOWN;
|
|
udc->gadget.speed = USB_SPEED_UNKNOWN;
|
|
|
|
|
|
for (i = 0; i < NR_USB_ENDPOINTS; i++)
|
|
for (i = 0; i < NR_USB_ENDPOINTS; i++)
|
|
@@ -1848,7 +1845,7 @@ static int pxa27x_udc_stop(struct usb_gadget *g)
|
|
{
|
|
{
|
|
struct pxa_udc *udc = to_pxa(g);
|
|
struct pxa_udc *udc = to_pxa(g);
|
|
|
|
|
|
- stop_activity(udc, NULL);
|
|
|
|
|
|
+ stop_activity(udc);
|
|
udc_disable(udc);
|
|
udc_disable(udc);
|
|
|
|
|
|
udc->driver = NULL;
|
|
udc->driver = NULL;
|
|
@@ -2296,7 +2293,7 @@ static void irq_udc_reset(struct pxa_udc *udc)
|
|
|
|
|
|
if ((udccr & UDCCR_UDA) == 0) {
|
|
if ((udccr & UDCCR_UDA) == 0) {
|
|
dev_dbg(udc->dev, "USB reset start\n");
|
|
dev_dbg(udc->dev, "USB reset start\n");
|
|
- stop_activity(udc, udc->driver);
|
|
|
|
|
|
+ stop_activity(udc);
|
|
}
|
|
}
|
|
udc->gadget.speed = USB_SPEED_FULL;
|
|
udc->gadget.speed = USB_SPEED_FULL;
|
|
memset(&udc->stats, 0, sizeof udc->stats);
|
|
memset(&udc->stats, 0, sizeof udc->stats);
|