]> rtime.felk.cvut.cz Git - pes-rpp/rpp-lwip.git/commitdiff
FIQ and protection control
authorJakub NejedlĂ˝ <nejedjak@fel.cvut.cz>
Mon, 19 Aug 2019 14:38:50 +0000 (16:38 +0200)
committerMichal Sojka <michal.sojka@cvut.cz>
Thu, 29 Aug 2019 13:34:00 +0000 (15:34 +0200)
The file sys_arch.c was modified to dislable FIQs. FIQs have to be quit due
errors in rpp_eth_recv_raw_thr(). Error was caused by malfunctioning semaphore
when receiving data.

[MS: I don't understand the description above, but the code seems to work with
this change.]

src/arch/sys_arch.c
src/include/arch/sys_arch.h

index 70d5f2212d488142527054833c12ecd3b07803cd..048ffbe113369d8102c5a7e1411c4ed253aa7d83 100644 (file)
@@ -240,7 +240,7 @@ sys_prot_t sys_arch_protect(void)
 
     _disable_IRQ();
     /* while interrupts ethernet related or interrupt for context switch don't use FIQ, we dont need to disable it */
-/*    _disable_FIQ(); */
+    _disable_FIQ();
     return status;
 #else /* !SYS_ARCH_SEMPHR_PROTECT */
     taskENTER_CRITICAL();
index a1da497a6757733842abca49233fa2745875617b..0b261f1583002ba2dd0a8ae6c8461d7b924b66de 100644 (file)
@@ -54,7 +54,7 @@
 #define portQUEUE_OVERHEAD_BYTES 0
 
 /* 1 - semaphore/mutex is used to protect critical sections; 0 - interrupt disable is used to protect critical sections */
-#define SYS_ARCH_SEMPHR_PROTECT    1 & !NO_SYS
+#define SYS_ARCH_SEMPHR_PROTECT    0
 
 typedef u8_t sys_prot_t;