diff options
author | Stefan Schmidt <stefan@osg.samsung.com> | 2015-06-09 10:52:26 +0200 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2015-06-09 10:55:36 +0200 |
commit | e5719b661a978f7d23042c140979351951f970bb (patch) | |
tree | fdf782ca21ff1effef13faf0458741d0ce8ea8bf /drivers/net/ieee802154 | |
parent | 9a4d3d4ba17c93def2b4dc3126eba30716d15469 (diff) | |
download | op-kernel-dev-e5719b661a978f7d23042c140979351951f970bb.zip op-kernel-dev-e5719b661a978f7d23042c140979351951f970bb.tar.gz |
ieee802154/mrf24j40: make sure we do not override return values
If we run into an error during rx we set the the error code in ret, but override
it afterwards. Using a different variable for the extra case avoids this
situation.
CID: 1226982, 1226983
Signed-off-by: Stefan Schmidt <stefan@osg.samsung.com>
Cc: Alan Ott <alan@signal11.us>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'drivers/net/ieee802154')
-rw-r--r-- | drivers/net/ieee802154/mrf24j40.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/net/ieee802154/mrf24j40.c b/drivers/net/ieee802154/mrf24j40.c index 99c7676..2549760 100644 --- a/drivers/net/ieee802154/mrf24j40.c +++ b/drivers/net/ieee802154/mrf24j40.c @@ -533,6 +533,7 @@ static int mrf24j40_handle_rx(struct mrf24j40 *devrec) u8 lqi = 0; u8 val; int ret = 0; + int ret2; struct sk_buff *skb; /* Turn off reception of packets off the air. This prevents the @@ -569,9 +570,9 @@ static int mrf24j40_handle_rx(struct mrf24j40 *devrec) out: /* Turn back on reception of packets off the air. */ - ret = read_short_reg(devrec, REG_BBREG1, &val); - if (ret) - return ret; + ret2 = read_short_reg(devrec, REG_BBREG1, &val); + if (ret2) + return ret2; val &= ~0x4; /* Clear RXDECINV */ write_short_reg(devrec, REG_BBREG1, val); |