From: Keith Packard Date: Wed, 17 Oct 2012 04:08:58 +0000 (-0700) Subject: altos/avr: Use ISR_BLOCK to disable interrupts during slave ISR X-Git-Tag: 1.1.9.1~10 X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=commitdiff_plain;h=4d6d90e15db30991bf81060a0876ae8adb843c75 altos/avr: Use ISR_BLOCK to disable interrupts during slave ISR This avoids enabling and then immediatly disabling them Signed-off-by: Keith Packard --- diff --git a/src/avr/ao_spi_slave.c b/src/avr/ao_spi_slave.c index b742d29a..a400b8a0 100644 --- a/src/avr/ao_spi_slave.c +++ b/src/avr/ao_spi_slave.c @@ -44,9 +44,8 @@ ao_spi_slave_send(uint8_t *buf, uint8_t len) static uint8_t ao_spi_slave_running; -ISR(PCINT0_vect) +ISR(PCINT0_vect, ISR_BLOCK) { - cli(); #if SPI_SLAVE_PIN_0_3 if ((PINB & (1 << PORTB0)) == 0) #endif @@ -61,7 +60,6 @@ ISR(PCINT0_vect) } else { ao_spi_slave_running = 0; } - sei(); } void