diff --git a/avr/modules/network/buffer.asm b/avr/modules/network/buffer.asm index e3d48cf..92732e4 100644 --- a/avr/modules/network/buffer.asm +++ b/avr/modules/network/buffer.asm @@ -95,10 +95,15 @@ NET_Buffer_ReleaseByAddr: ; @clobbers X (R16) NET_Buffer_ReleaseByNum: - rcall NET_Buffer_Locate ; (R16, X) - brcc NET_Buffer_ReleaseByNum_end - rcall NET_Buffer_ReleaseByAddr ; (R16) + push r15 + in r15, SREG + cli + rcall NET_Buffer_Locate ; (R16, X) + brcc NET_Buffer_ReleaseByNum_end + rcall NET_Buffer_ReleaseByAddr ; (R16) NET_Buffer_ReleaseByNum_end: + out SREG, r15 + pop r15 ret ; @end