]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
remoteproc: qcom_wcnss_iris: Add missing put_device() on error in probe
authorDan Carpenter <dan.carpenter@linaro.org>
Wed, 2 Apr 2025 10:59:51 +0000 (13:59 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 27 Jun 2025 10:05:15 +0000 (11:05 +0100)
[ Upstream commit 0cb4b1b97041d8a1f773425208ded253c1cb5869 ]

The device_del() call matches with the device_add() but we also need
to call put_device() to trigger the qcom_iris_release().

Fixes: 1fcef985c8bd ("remoteproc: qcom: wcnss: Fix race with iris probe")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/4604f7e0-3217-4095-b28a-3ff8b5afad3a@stanley.mountain
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/remoteproc/qcom_wcnss_iris.c

index 09720ddddc8570468ba6c3b230ad5554b03c7436..7c7b688eda1d9a55082ad1c3fb76dad7fedac2ed 100644 (file)
@@ -196,6 +196,7 @@ struct qcom_iris *qcom_iris_probe(struct device *parent, bool *use_48mhz_xo)
 
 err_device_del:
        device_del(&iris->dev);
+       put_device(&iris->dev);
 
        return ERR_PTR(ret);
 }
@@ -203,4 +204,5 @@ err_device_del:
 void qcom_iris_remove(struct qcom_iris *iris)
 {
        device_del(&iris->dev);
+       put_device(&iris->dev);
 }