Re: [PATCH] net: ieee802154: fix missing checks for regmap_update_bits

From: Stefan Schmidt
Date: Wed Mar 27 2019 - 13:15:52 EST


Hello.

On 25.03.19 08:18, Kangjie Lu wrote:
> regmap_update_bits could fail and deserves a check.
>
> The patch adds the checks and if it fails, returns its error
> code upstream.
>
> Signed-off-by: Kangjie Lu <kjlu@xxxxxxx>
> ---
> drivers/net/ieee802154/mcr20a.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/drivers/net/ieee802154/mcr20a.c b/drivers/net/ieee802154/mcr20a.c
> index c589f5ae75bb..8bb53ec8d9cf 100644
> --- a/drivers/net/ieee802154/mcr20a.c
> +++ b/drivers/net/ieee802154/mcr20a.c
> @@ -533,6 +533,8 @@ mcr20a_start(struct ieee802154_hw *hw)
> dev_dbg(printdev(lp), "no slotted operation\n");
> ret = regmap_update_bits(lp->regmap_dar, DAR_PHY_CTRL1,
> DAR_PHY_CTRL1_SLOTTED, 0x0);
> + if (ret < 0)
> + return ret;
>
> /* enable irq */
> enable_irq(lp->spi->irq);
> @@ -540,11 +542,15 @@ mcr20a_start(struct ieee802154_hw *hw)
> /* Unmask SEQ interrupt */
> ret = regmap_update_bits(lp->regmap_dar, DAR_PHY_CTRL2,
> DAR_PHY_CTRL2_SEQMSK, 0x0);
> + if (ret < 0)
> + return ret;
>
> /* Start the RX sequence */
> dev_dbg(printdev(lp), "start the RX sequence\n");
> ret = regmap_update_bits(lp->regmap_dar, DAR_PHY_CTRL1,
> DAR_PHY_CTRL1_XCVSEQ_MASK, MCR20A_XCVSEQ_RX);
> + if (ret < 0)
> + return ret;
>
> return 0;
> }
>

This patch has been applied to the wpan tree and will be
part of the next pull request to net. Thanks!

regards
Stefan Schmidt