Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c9d44203 authored by Stefan Schmidt's avatar Stefan Schmidt Committed by Marcel Holtmann
Browse files

ieee802154: cc2520: check for return values in cc2520_filter()



neither ram nor register write return values have been checked here.
Checking both now. Assign ret with 0 as all other assignments are inside
if blocks and might not happen before we return ret.

CID: 1230469
Signed-off-by: default avatarStefan Schmidt <stefan@osg.samsung.com>
Acked-by: default avatarVarka Bhadram <varkabhadram@gmail.com>
Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
parent fe8de008
Loading
Loading
Loading
Loading
+13 −10
Original line number Diff line number Diff line
@@ -590,20 +590,21 @@ cc2520_filter(struct ieee802154_hw *hw,
	      struct ieee802154_hw_addr_filt *filt, unsigned long changed)
{
	struct cc2520_private *priv = hw->priv;
	int ret = 0;

	if (changed & IEEE802154_AFILT_PANID_CHANGED) {
		u16 panid = le16_to_cpu(filt->pan_id);

		dev_vdbg(&priv->spi->dev,
			 "cc2520_filter called for pan id\n");
		cc2520_write_ram(priv, CC2520RAM_PANID,
		ret = cc2520_write_ram(priv, CC2520RAM_PANID,
				       sizeof(panid), (u8 *)&panid);
	}

	if (changed & IEEE802154_AFILT_IEEEADDR_CHANGED) {
		dev_vdbg(&priv->spi->dev,
			 "cc2520_filter called for IEEE addr\n");
		cc2520_write_ram(priv, CC2520RAM_IEEEADDR,
		ret = cc2520_write_ram(priv, CC2520RAM_IEEEADDR,
				       sizeof(filt->ieee_addr),
				       (u8 *)&filt->ieee_addr);
	}
@@ -613,7 +614,7 @@ cc2520_filter(struct ieee802154_hw *hw,

		dev_vdbg(&priv->spi->dev,
			 "cc2520_filter called for saddr\n");
		cc2520_write_ram(priv, CC2520RAM_SHORTADDR,
		ret = cc2520_write_ram(priv, CC2520RAM_SHORTADDR,
				       sizeof(addr), (u8 *)&addr);
	}

@@ -621,12 +622,14 @@ cc2520_filter(struct ieee802154_hw *hw,
		dev_vdbg(&priv->spi->dev,
			 "cc2520_filter called for panc change\n");
		if (filt->pan_coord)
			cc2520_write_register(priv, CC2520_FRMFILT0, 0x02);
			ret = cc2520_write_register(priv, CC2520_FRMFILT0,
						    0x02);
		else
			cc2520_write_register(priv, CC2520_FRMFILT0, 0x00);
			ret = cc2520_write_register(priv, CC2520_FRMFILT0,
						    0x00);
	}

	return 0;
	return ret;
}

static inline int cc2520_set_tx_power(struct cc2520_private *priv, s32 mbm)