Commit 7c277dd2 authored by Christophe JAILLET's avatar Christophe JAILLET Committed by Ulf Hansson
Browse files

mmc: alcor: Fix a resource leak in the error path for ->probe()



If devm_request_threaded_irq() fails, the allocated struct mmc_host needs
to be freed via calling mmc_free_host(), so let's do that.

Fixes: c5413ad8 ("mmc: add new Alcor Micro Cardreader SD/MMC driver")
Signed-off-by: default avatarChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Link: https://lore.kernel.org/r/20200426202355.43055-1-christophe.jaillet@wanadoo.fr


Cc: stable@vger.kernel.org
Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
parent 282ede76
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -1104,7 +1104,7 @@ static int alcor_pci_sdmmc_drv_probe(struct platform_device *pdev)

	if (ret) {
		dev_err(&pdev->dev, "Failed to get irq for data line\n");
		return ret;
		goto free_host;
	}

	mutex_init(&host->cmd_mutex);
@@ -1116,6 +1116,10 @@ static int alcor_pci_sdmmc_drv_probe(struct platform_device *pdev)
	dev_set_drvdata(&pdev->dev, host);
	mmc_add_host(mmc);
	return 0;

free_host:
	mmc_free_host(mmc);
	return ret;
}

static int alcor_pci_sdmmc_drv_remove(struct platform_device *pdev)