Call to pm_runtime_get_sync increments counter even in case of failure leading to incorrect ref count. Call pm_runtime_put_noidle if pm_runtime_get_sync fails. Signed-off-by: Navid Emamdoost <navid.emamdoost@xxxxxxxxx> --- drivers/spi/spi-sprd.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/spi/spi-sprd.c b/drivers/spi/spi-sprd.c index 6678f1cbc566..860032af4b98 100644 --- a/drivers/spi/spi-sprd.c +++ b/drivers/spi/spi-sprd.c @@ -1018,6 +1018,7 @@ static int sprd_spi_remove(struct platform_device *pdev) ret = pm_runtime_get_sync(ss->dev); if (ret < 0) { dev_err(ss->dev, "failed to resume SPI controller\n"); + pm_runtime_put_noidle(&pdev->dev); return ret; } -- 2.17.1