1 From 8ef654b5b4fa820b693ae84d8d5f8c9090d0cef1 Mon Sep 17 00:00:00 2001
2 From: Kangjie Lu <kjlu@umn.edu>
3 Date: Sun, 24 Mar 2019 18:18:56 -0500
4 Subject: net: ieee802154: fix missing checks for regmap_update_bits
6 [ Upstream commit 22e8860cf8f777fbf6a83f2fb7127f682a8e9de4 ]
8 regmap_update_bits could fail and deserves a check.
10 The patch adds the checks and if it fails, returns its error
13 Signed-off-by: Kangjie Lu <kjlu@umn.edu>
14 Reviewed-by: Mukesh Ojha <mojha@codeaurora.org>
15 Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org>
16 Signed-off-by: Sasha Levin <sashal@kernel.org>
18 drivers/net/ieee802154/mcr20a.c | 6 ++++++
19 1 file changed, 6 insertions(+)
21 diff --git a/drivers/net/ieee802154/mcr20a.c b/drivers/net/ieee802154/mcr20a.c
22 index 04891429a5542..fe4057fca83d8 100644
23 --- a/drivers/net/ieee802154/mcr20a.c
24 +++ b/drivers/net/ieee802154/mcr20a.c
25 @@ -539,6 +539,8 @@ mcr20a_start(struct ieee802154_hw *hw)
26 dev_dbg(printdev(lp), "no slotted operation\n");
27 ret = regmap_update_bits(lp->regmap_dar, DAR_PHY_CTRL1,
28 DAR_PHY_CTRL1_SLOTTED, 0x0);
33 enable_irq(lp->spi->irq);
34 @@ -546,11 +548,15 @@ mcr20a_start(struct ieee802154_hw *hw)
35 /* Unmask SEQ interrupt */
36 ret = regmap_update_bits(lp->regmap_dar, DAR_PHY_CTRL2,
37 DAR_PHY_CTRL2_SEQMSK, 0x0);
41 /* Start the RX sequence */
42 dev_dbg(printdev(lp), "start the RX sequence\n");
43 ret = regmap_update_bits(lp->regmap_dar, DAR_PHY_CTRL1,
44 DAR_PHY_CTRL1_XCVSEQ_MASK, MCR20A_XCVSEQ_RX);