diff options
Diffstat (limited to 'drivers/usb/gadget/f_thor.c')
-rw-r--r-- | drivers/usb/gadget/f_thor.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/usb/gadget/f_thor.c b/drivers/usb/gadget/f_thor.c index 2d0410d..6346370 100644 --- a/drivers/usb/gadget/f_thor.c +++ b/drivers/usb/gadget/f_thor.c @@ -543,7 +543,7 @@ static int thor_rx_data(void) } while (!dev->rxdata) { - usb_gadget_handle_interrupts(); + usb_gadget_handle_interrupts(0); if (ctrlc()) return -1; } @@ -577,7 +577,7 @@ static void thor_tx_data(unsigned char *data, int len) /* Wait until tx interrupt received */ while (!dev->txdata) - usb_gadget_handle_interrupts(); + usb_gadget_handle_interrupts(0); dev->txdata = 0; } @@ -694,7 +694,7 @@ int thor_init(void) /* Wait for a device enumeration and configuration settings */ debug("THOR enumeration/configuration setting....\n"); while (!dev->configuration_done) - usb_gadget_handle_interrupts(); + usb_gadget_handle_interrupts(0); thor_set_dma(thor_rx_data_buf, strlen("THOR")); /* detect the download request from Host PC */ @@ -806,6 +806,7 @@ static int thor_func_bind(struct usb_configuration *c, struct usb_function *f) } dev->in_ep = ep; /* Store IN EP for enabling @ setup */ + ep->driver_data = dev; ep = usb_ep_autoconfig(gadget, &fs_out_desc); if (!ep) { @@ -818,6 +819,7 @@ static int thor_func_bind(struct usb_configuration *c, struct usb_function *f) fs_out_desc.bEndpointAddress; dev->out_ep = ep; /* Store OUT EP for enabling @ setup */ + ep->driver_data = dev; ep = usb_ep_autoconfig(gadget, &fs_int_desc); if (!ep) { @@ -826,6 +828,7 @@ static int thor_func_bind(struct usb_configuration *c, struct usb_function *f) } dev->int_ep = ep; + ep->driver_data = dev; if (gadget_is_dualspeed(gadget)) { hs_int_desc.bEndpointAddress = |