lynxis lazus has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-asf4-dfu/+/42176?usp=email )


Change subject: dfu: protect USB_DFU_STATE_DFU_MANIFEST by a critical section
......................................................................

dfu: protect USB_DFU_STATE_DFU_MANIFEST by a critical section

In the MANIFEST state, the IRQ won't move the state, but
to prevent incosistency between dfu_manifestation_complete &
dfu_state, use a critical section.

Change-Id: Idf5fb7d55b4051ba7e235dfa409a4de18a8f208c
---
M usb_start.c
1 file changed, 2 insertions(+), 0 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-asf4-dfu refs/changes/76/42176/1

diff --git a/usb_start.c b/usb_start.c
index bf06596..7b164a0 100644
--- a/usb_start.c
+++ b/usb_start.c
@@ -199,12 +199,14 @@
                case USB_DFU_STATE_DFU_MANIFEST: // we can start manifestation 
(finish flashing)
                        // in theory every DFU files should have a suffix to 
with a CRC to check the data
                        // in practice most downloaded files are just the raw 
binary with DFU suffix
+                       CRITICAL_SECTION_ENTER();
                        dfu_manifestation_complete = true; // we completed 
flashing and all checks
                        if (usb_dfu_func_desc->bmAttributes & 
USB_DFU_ATTRIBUTES_MANIFEST_TOLERANT) {
                                dfu_state = USB_DFU_STATE_DFU_MANIFEST_SYNC;
                        } else {
                                dfu_state = 
USB_DFU_STATE_DFU_MANIFEST_WAIT_RESET;
                        }
+                       CRITICAL_SECTION_LEAVE();
                        break;
                case USB_DFU_STATE_DFU_MANIFEST_WAIT_RESET:
                        if (usb_dfu_func_desc->bmAttributes & 
USB_DFU_ATTRIBUTES_WILL_DETACH) {

--
To view, visit https://gerrit.osmocom.org/c/osmo-asf4-dfu/+/42176?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings?usp=email

Gerrit-MessageType: newchange
Gerrit-Project: osmo-asf4-dfu
Gerrit-Branch: master
Gerrit-Change-Id: Idf5fb7d55b4051ba7e235dfa409a4de18a8f208c
Gerrit-Change-Number: 42176
Gerrit-PatchSet: 1
Gerrit-Owner: lynxis lazus <[email protected]>

Reply via email to