From fffe92705eb8e64febdeeb8f0885ffc8bdb305cb Mon Sep 17 00:00:00 2001 From: Walter Mack Date: Mon, 11 Jul 2016 20:02:16 -0700 Subject: [PATCH] mrf24j40: avoid uninitialized byte in SPI transfer to radio. isr function issues SPI read command to mrf to obtain INTSTAT. SPI transfer is 2 bytes, but value of 2nd byte is not defined. This had the effect that only the first ISR worked as intended. The second ISR read incorrect INTSTAT values. Observed on Raspberry PI B+. Signed-off-by: Walter Mack Signed-off-by: Marcel Holtmann --- drivers/net/ieee802154/mrf24j40.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/ieee802154/mrf24j40.c b/drivers/net/ieee802154/mrf24j40.c index f446db8285612..7b131f8e40937 100644 --- a/drivers/net/ieee802154/mrf24j40.c +++ b/drivers/net/ieee802154/mrf24j40.c @@ -1054,6 +1054,8 @@ static irqreturn_t mrf24j40_isr(int irq, void *data) disable_irq_nosync(irq); devrec->irq_buf[0] = MRF24J40_READSHORT(REG_INTSTAT); + devrec->irq_buf[1] = 0; + /* Read the interrupt status */ ret = spi_async(devrec->spi, &devrec->irq_msg); if (ret) { -- 2.39.5