aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWalter Mack <wmack@componentsw.com>2016-07-11 20:02:16 -0700
committerMarcel Holtmann <marcel@holtmann.org>2016-07-12 11:54:53 +0200
commit3faf56437239326113a3c4b99ab8204e2b09c2e4 (patch)
tree0dc7508fbc51b3931c81e5e5b5bf48f37604ebf0
parentBluetooth: Add support of 13d3:3490 AR3012 device (diff)
downloadlinux-dev-3faf56437239326113a3c4b99ab8204e2b09c2e4.tar.xz
linux-dev-3faf56437239326113a3c4b99ab8204e2b09c2e4.zip
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 <wmack@componentsw.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
-rw-r--r--drivers/net/ieee802154/mrf24j40.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/ieee802154/mrf24j40.c b/drivers/net/ieee802154/mrf24j40.c
index f446db828561..7b131f8e4093 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) {