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>
This commit is contained in:
Stefan Schmidt 2015-06-09 10:52:26 +02:00 committed by Marcel Holtmann
parent 9a4d3d4ba1
commit e5719b661a
1 changed files with 4 additions and 3 deletions

View File

@ -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);