aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Schmidt <stefan@osg.samsung.com>2018-04-12 08:28:49 -0400
committerStefan Schmidt <stefan@osg.samsung.com>2018-04-23 14:56:23 -0400
commit7e0ffee1b2e7d26cc2147be0d9d5186823e923f3 (patch)
tree67b80ad93acea2f525353b6e7fa0945a5e98950f
parentf9e628a6645ed4f42a15dfa3c5af45a916a228e4 (diff)
net: ieee802154: mcr20a: do not leak resources on error path
We already allocated the device and platform data at this point. Instead of simply return from the probe function we need to cleanup the resources first. Signed-off-by: Stefan Schmidt <stefan@osg.samsung.com> Acked-by: Xue Liu <liuxuenetmail@gmail.com>
-rw-r--r--drivers/net/ieee802154/mcr20a.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/ieee802154/mcr20a.c b/drivers/net/ieee802154/mcr20a.c
index 944470d69ba9..de0d7f28a181 100644
--- a/drivers/net/ieee802154/mcr20a.c
+++ b/drivers/net/ieee802154/mcr20a.c
@@ -1309,8 +1309,10 @@ mcr20a_probe(struct spi_device *spi)
1309 /* init buf */ 1309 /* init buf */
1310 lp->buf = devm_kzalloc(&spi->dev, SPI_COMMAND_BUFFER, GFP_KERNEL); 1310 lp->buf = devm_kzalloc(&spi->dev, SPI_COMMAND_BUFFER, GFP_KERNEL);
1311 1311
1312 if (!lp->buf) 1312 if (!lp->buf) {
1313 return -ENOMEM; 1313 ret = -ENOMEM;
1314 goto free_dev;
1315 }
1314 1316
1315 mcr20a_setup_tx_spi_messages(lp); 1317 mcr20a_setup_tx_spi_messages(lp);
1316 mcr20a_setup_rx_spi_messages(lp); 1318 mcr20a_setup_rx_spi_messages(lp);