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

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
...@@ -590,22 +590,23 @@ cc2520_filter(struct ieee802154_hw *hw, ...@@ -590,22 +590,23 @@ cc2520_filter(struct ieee802154_hw *hw,
struct ieee802154_hw_addr_filt *filt, unsigned long changed) struct ieee802154_hw_addr_filt *filt, unsigned long changed)
{ {
struct cc2520_private *priv = hw->priv; struct cc2520_private *priv = hw->priv;
int ret = 0;
if (changed & IEEE802154_AFILT_PANID_CHANGED) { if (changed & IEEE802154_AFILT_PANID_CHANGED) {
u16 panid = le16_to_cpu(filt->pan_id); u16 panid = le16_to_cpu(filt->pan_id);
dev_vdbg(&priv->spi->dev, dev_vdbg(&priv->spi->dev,
"cc2520_filter called for pan id\n"); "cc2520_filter called for pan id\n");
cc2520_write_ram(priv, CC2520RAM_PANID, ret = cc2520_write_ram(priv, CC2520RAM_PANID,
sizeof(panid), (u8 *)&panid); sizeof(panid), (u8 *)&panid);
} }
if (changed & IEEE802154_AFILT_IEEEADDR_CHANGED) { if (changed & IEEE802154_AFILT_IEEEADDR_CHANGED) {
dev_vdbg(&priv->spi->dev, dev_vdbg(&priv->spi->dev,
"cc2520_filter called for IEEE addr\n"); "cc2520_filter called for IEEE addr\n");
cc2520_write_ram(priv, CC2520RAM_IEEEADDR, ret = cc2520_write_ram(priv, CC2520RAM_IEEEADDR,
sizeof(filt->ieee_addr), sizeof(filt->ieee_addr),
(u8 *)&filt->ieee_addr); (u8 *)&filt->ieee_addr);
} }
if (changed & IEEE802154_AFILT_SADDR_CHANGED) { if (changed & IEEE802154_AFILT_SADDR_CHANGED) {
...@@ -613,20 +614,22 @@ cc2520_filter(struct ieee802154_hw *hw, ...@@ -613,20 +614,22 @@ cc2520_filter(struct ieee802154_hw *hw,
dev_vdbg(&priv->spi->dev, dev_vdbg(&priv->spi->dev,
"cc2520_filter called for saddr\n"); "cc2520_filter called for saddr\n");
cc2520_write_ram(priv, CC2520RAM_SHORTADDR, ret = cc2520_write_ram(priv, CC2520RAM_SHORTADDR,
sizeof(addr), (u8 *)&addr); sizeof(addr), (u8 *)&addr);
} }
if (changed & IEEE802154_AFILT_PANC_CHANGED) { if (changed & IEEE802154_AFILT_PANC_CHANGED) {
dev_vdbg(&priv->spi->dev, dev_vdbg(&priv->spi->dev,
"cc2520_filter called for panc change\n"); "cc2520_filter called for panc change\n");
if (filt->pan_coord) if (filt->pan_coord)
cc2520_write_register(priv, CC2520_FRMFILT0, 0x02); ret = cc2520_write_register(priv, CC2520_FRMFILT0,
0x02);
else 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) static inline int cc2520_set_tx_power(struct cc2520_private *priv, s32 mbm)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment