usb_f103: Clear ISR bit as soon as possible, as for the other IRQs.
Reported by Uwe in https://github.com/libopencm3/libopencm3/pull/274 but expanded and provided by BuFran finally.
This commit is contained in:
parent
a4bb8f7e24
commit
13004f81ee
@ -300,9 +300,9 @@ static void stm32f103_poll(usbd_device *dev)
|
||||
uint16_t istr = *USB_ISTR_REG;
|
||||
|
||||
if (istr & USB_ISTR_RESET) {
|
||||
USB_CLR_ISTR_RESET();
|
||||
dev->pm_top = 0x40;
|
||||
_usbd_reset(dev);
|
||||
USB_CLR_ISTR_RESET();
|
||||
return;
|
||||
}
|
||||
|
||||
@ -338,9 +338,9 @@ static void stm32f103_poll(usbd_device *dev)
|
||||
}
|
||||
|
||||
if (istr & USB_ISTR_SOF) {
|
||||
USB_CLR_ISTR_SOF();
|
||||
if (dev->user_callback_sof) {
|
||||
dev->user_callback_sof();
|
||||
}
|
||||
USB_CLR_ISTR_SOF();
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user