diff options
author | Liu Jian | 2020-07-17 17:01:21 +0800 |
---|---|---|
committer | Stefan Schmidt | 2020-07-17 11:31:08 +0200 |
commit | 66673f96f0f968b991dc38be06102246919c663c (patch) | |
tree | 0093b2cc9c05b42be8b38b07182d55ff2b13d082 /drivers/net/ieee802154/adf7242.c | |
parent | 473309fb8372365ad211f425bca760af800e10a7 (diff) |
ieee802154: fix one possible memleak in adf7242_probe
When probe fail, we should destroy the workqueue.
Fixes: 2795e8c25161 ("net: ieee802154: fix a potential NULL pointer dereference")
Signed-off-by: Liu Jian <liujian56@huawei.com>
Acked-by: Michael Hennerich <michael.hennerich@analog.com>
Link: https://lore.kernel.org/r/20200717090121.2143-1-liujian56@huawei.com
Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org>
Diffstat (limited to 'drivers/net/ieee802154/adf7242.c')
-rw-r--r-- | drivers/net/ieee802154/adf7242.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/ieee802154/adf7242.c b/drivers/net/ieee802154/adf7242.c index 5a37514e4234..8dbccec6ac86 100644 --- a/drivers/net/ieee802154/adf7242.c +++ b/drivers/net/ieee802154/adf7242.c @@ -1262,7 +1262,7 @@ static int adf7242_probe(struct spi_device *spi) WQ_MEM_RECLAIM); if (unlikely(!lp->wqueue)) { ret = -ENOMEM; - goto err_hw_init; + goto err_alloc_wq; } ret = adf7242_hw_init(lp); @@ -1294,6 +1294,8 @@ static int adf7242_probe(struct spi_device *spi) return ret; err_hw_init: + destroy_workqueue(lp->wqueue); +err_alloc_wq: mutex_destroy(&lp->bmux); ieee802154_free_hw(lp->hw); |