mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-12-30 02:20:48 +00:00
stm32/usb: usb_wake: Update STM32_USB_CNTR with interrupts off
STM32_USB_CNTR may be written from both interrupt context, and usb_wake (not necessarily in interrupt context). Let's disable interrupts to make sure the operation is atomic. BRANCH=none BUG=b:35775088 BUG=b:67766202 BUG=b:71688150 TEST=Flash hammer, hammer can wake from USB autosuspend Change-Id: I9c2a3259902ecb759a6d0d89c7746c7aa72ae73d Signed-off-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/744282 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
This commit is contained in:
committed by
chrome-bot
parent
7b5b83055c
commit
6432c52a72
@@ -456,8 +456,12 @@ void usb_wake(void)
|
||||
* 2 and 3 ms.
|
||||
*/
|
||||
esof_count = 3;
|
||||
|
||||
/* STM32_USB_CNTR can also be updated from interrupt context. */
|
||||
interrupt_disable();
|
||||
STM32_USB_CNTR |= STM32_USB_CNTR_RESUME |
|
||||
STM32_USB_CNTR_ESOFM | STM32_USB_CNTR_SOFM;
|
||||
STM32_USB_CNTR_ESOFM | STM32_USB_CNTR_SOFM;
|
||||
interrupt_enable();
|
||||
|
||||
/* Try side-band wake as well. */
|
||||
board_usb_wake();
|
||||
|
||||
Reference in New Issue
Block a user