Issue stopping OTGv1 driver when active
Posted: Sun Jan 12, 2014 2:39 pm
Hi,
when i try to usbStop an OTGv1 usb driver which is in state USB_ACTIVE,
it hangs here with i being 1:
This happens when having written to a serial over usb device without a host having consumed that data before usbStop().
I can "fix" it by calling _usb_reset() before usbStop() but that doesn't seem to be the intended way of doing it.
Is this a driver issue or misusage by myself?
Thanks in advance and with best regards,
Vinz
PS: The more i work with it, the more i like ChibiOS!
when i try to usbStop an OTGv1 usb driver which is in state USB_ACTIVE,
it hangs here with i being 1:
Code: Select all
static void otg_disable_ep(USBDriver *usbp) {
...
/* Wait for endpoint disable.*/
while (!(otgp->ie[i].DIEPINT & DIEPINT_EPDISD))
;
...
}
This happens when having written to a serial over usb device without a host having consumed that data before usbStop().
I can "fix" it by calling _usb_reset() before usbStop() but that doesn't seem to be the intended way of doing it.
Is this a driver issue or misusage by myself?
Thanks in advance and with best regards,
Vinz
PS: The more i work with it, the more i like ChibiOS!