| From 05548426330db7241045eb43b1cf7a9b3c8858f6 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Fri, 9 Apr 2021 09:54:30 +0000 |
| Subject: spi: fsl-lpspi: Fix PM reference leak in |
| lpspi_prepare_xfer_hardware() |
| |
| From: Wang Li <wangli74@huawei.com> |
| |
| [ Upstream commit a03675497970a93fcf25d81d9d92a59c2d7377a7 ] |
| |
| pm_runtime_get_sync will increment pm usage counter even it failed. |
| Forgetting to putting operation will result in reference leak here. |
| Fix it by replacing it with pm_runtime_resume_and_get to keep usage |
| counter balanced. |
| |
| Fixes: 944c01a889d9 ("spi: lpspi: enable runtime pm for lpspi") |
| Reported-by: Hulk Robot <hulkci@huawei.com> |
| Signed-off-by: Wang Li <wangli74@huawei.com> |
| Link: https://lore.kernel.org/r/20210409095430.29868-1-wangli74@huawei.com |
| Signed-off-by: Mark Brown <broonie@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/spi/spi-fsl-lpspi.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/drivers/spi/spi-fsl-lpspi.c b/drivers/spi/spi-fsl-lpspi.c |
| index a2886ee44e4c..5d98611dd999 100644 |
| --- a/drivers/spi/spi-fsl-lpspi.c |
| +++ b/drivers/spi/spi-fsl-lpspi.c |
| @@ -200,7 +200,7 @@ static int lpspi_prepare_xfer_hardware(struct spi_controller *controller) |
| spi_controller_get_devdata(controller); |
| int ret; |
| |
| - ret = pm_runtime_get_sync(fsl_lpspi->dev); |
| + ret = pm_runtime_resume_and_get(fsl_lpspi->dev); |
| if (ret < 0) { |
| dev_err(fsl_lpspi->dev, "failed to enable clock\n"); |
| return ret; |
| -- |
| 2.30.2 |
| |