Skip to content

Commit f09ff7a

Browse files
dinghaoliugregkh
authored andcommitted
wilc1000: Fix memleak in wilc_bus_probe
[ Upstream commit 9a19a93 ] When devm_clk_get() returns -EPROBE_DEFER, spi_priv should be freed just like when wilc_cfg80211_init() fails. Fixes: 854d66d ("staging: wilc1000: look for rtc_clk clock in spi mode") 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/20200820055256.24333-1-dinghao.liu@zju.edu.cn Signed-off-by: Sasha Levin <sashal@kernel.org>
1 parent a00a3ad commit f09ff7a

1 file changed

Lines changed: 3 additions & 2 deletions

File tree

  • drivers/net/wireless/microchip/wilc1000

drivers/net/wireless/microchip/wilc1000/spi.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,9 +112,10 @@ static int wilc_bus_probe(struct spi_device *spi)
112112
wilc->dev_irq_num = spi->irq;
113113

114114
wilc->rtc_clk = devm_clk_get(&spi->dev, "rtc_clk");
115-
if (PTR_ERR_OR_ZERO(wilc->rtc_clk) == -EPROBE_DEFER)
115+
if (PTR_ERR_OR_ZERO(wilc->rtc_clk) == -EPROBE_DEFER) {
116+
kfree(spi_priv);
116117
return -EPROBE_DEFER;
117-
else if (!IS_ERR(wilc->rtc_clk))
118+
} else if (!IS_ERR(wilc->rtc_clk))
118119
clk_prepare_enable(wilc->rtc_clk);
119120

120121
return 0;

0 commit comments

Comments
 (0)