projects
/
linux
/
.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
621a3a8
)
wilc1000: Fix memleak in wilc_sdio_probe
author
Dinghao Liu
<dinghao.liu@zju.edu.cn>
Thu, 20 Aug 2020 05:48:19 +0000
(13:48 +0800)
committer
Kalle Valo
<kvalo@codeaurora.org>
Thu, 27 Aug 2020 10:01:31 +0000
(13:01 +0300)
When devm_clk_get() returns -EPROBE_DEFER, sdio_priv
should be freed just like when wilc_cfg80211_init()
fails.
Fixes:
8692b047e86cf
("staging: wilc1000: look for rtc_clk clock")
Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
Acked-by: Ajay Singh <ajay.kathat@microchip.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link:
https://lore.kernel.org/r/20200820054819.23365-1-dinghao.liu@zju.edu.cn
drivers/net/wireless/microchip/wilc1000/sdio.c
patch
|
blob
|
history
diff --git
a/drivers/net/wireless/microchip/wilc1000/sdio.c
b/drivers/net/wireless/microchip/wilc1000/sdio.c
index 3ece7b0b03929ebe9b0b2bc5a5ce2dfc8f8dea5e..351ff909ab1c70d1d3d630c1059d259d35974dbf 100644
(file)
--- a/
drivers/net/wireless/microchip/wilc1000/sdio.c
+++ b/
drivers/net/wireless/microchip/wilc1000/sdio.c
@@
-149,9
+149,10
@@
static int wilc_sdio_probe(struct sdio_func *func,
wilc->dev = &func->dev;
wilc->rtc_clk = devm_clk_get(&func->card->dev, "rtc");
- if (PTR_ERR_OR_ZERO(wilc->rtc_clk) == -EPROBE_DEFER)
+ if (PTR_ERR_OR_ZERO(wilc->rtc_clk) == -EPROBE_DEFER) {
+ kfree(sdio_priv);
return -EPROBE_DEFER;
- else if (!IS_ERR(wilc->rtc_clk))
+
}
else if (!IS_ERR(wilc->rtc_clk))
clk_prepare_enable(wilc->rtc_clk);
dev_info(&func->dev, "Driver Initializing success\n");