]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - queue-4.19/net-ieee802154-fix-missing-checks-for-regmap_update_.patch
Linux 5.0.19
[thirdparty/kernel/stable-queue.git] / queue-4.19 / net-ieee802154-fix-missing-checks-for-regmap_update_.patch
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
5
6 [ Upstream commit 22e8860cf8f777fbf6a83f2fb7127f682a8e9de4 ]
7
8 regmap_update_bits could fail and deserves a check.
9
10 The patch adds the checks and if it fails, returns its error
11 code upstream.
12
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>
17 ---
18 drivers/net/ieee802154/mcr20a.c | 6 ++++++
19 1 file changed, 6 insertions(+)
20
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);
29 + if (ret < 0)
30 + return ret;
31
32 /* enable irq */
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);
38 + if (ret < 0)
39 + return ret;
40
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);
45 + if (ret < 0)
46 + return ret;
47
48 return 0;
49 }
50 --
51 2.20.1
52