guard some changes on network data with CLI.

This commit is contained in:
Martin Preuss
2025-07-20 23:15:46 +02:00
parent 1091ec1dee
commit 66b298d977

View File

@@ -205,16 +205,21 @@ NET_Interface_SetIfaceNumInBuffer:
; @clobbers R16
NET_Interface_Periodically:
ldd r16, Y+NET_IFACE_OFFS_READTIMER
inc r16
breq NET_Interface_Periodically_l1
std Y+NET_IFACE_OFFS_READTIMER, r16
push r15
in r15, SREG
cli
ldd r16, Y+NET_IFACE_OFFS_READTIMER
inc r16
breq NET_Interface_Periodically_l1
std Y+NET_IFACE_OFFS_READTIMER, r16
NET_Interface_Periodically_l1:
ldd r16, Y+NET_IFACE_OFFS_WRITETIMER
inc r16
breq NET_Interface_Periodically_l2
std Y+NET_IFACE_OFFS_WRITETIMER, r16
ldd r16, Y+NET_IFACE_OFFS_WRITETIMER
inc r16
breq NET_Interface_Periodically_l2
std Y+NET_IFACE_OFFS_WRITETIMER, r16
NET_Interface_Periodically_l2:
out SREG, r15
pop r15
ret
; @end
@@ -227,15 +232,21 @@ NET_Interface_Periodically_l2:
; @clobbers R16, R17, X
NET_Interface_ResetStats:
clr r16
std Y+NET_IFACE_OFFS_PACKETSIN_LOW, r16
mov xl, yl
mov xh, yh
adiw xh:xl, NET_IFACE_OFFS_PACKETSIN_LOW
ldi r17, ((NET_IFACE_OFFS_ERR_BUSY_HIGH+1)-NET_IFACE_OFFS_PACKETSIN_LOW)
clr r16
rjmp Utils_FillSram ; (R17, X)
push r15
in r15, SREG
cli
clr r16
std Y+NET_IFACE_OFFS_PACKETSIN_LOW, r16
mov xl, yl
mov xh, yh
adiw xh:xl, NET_IFACE_OFFS_PACKETSIN_LOW
ldi r17, ((NET_IFACE_OFFS_ERR_BUSY_HIGH+1)-NET_IFACE_OFFS_PACKETSIN_LOW)
clr r16
rcall Utils_FillSram ; (R17, X)
out SREG, r15
pop r15
ret
; @end