phy: qcom: qmp-usb: fix NULL-deref on runtime suspend
authorJohan Hovold <johan+linaro@kernel.org>
Wed, 11 Sep 2024 11:52:50 +0000 (13:52 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 8 Nov 2024 15:28:22 +0000 (16:28 +0100)
commit bd9e4d4a3b127686efc60096271b0a44c3100061 upstream.

Commit 413db06c05e7 ("phy: qcom-qmp-usb: clean up probe initialisation")
removed most users of the platform device driver data, but mistakenly
also removed the initialisation despite the data still being used in the
runtime PM callbacks.

Restore the driver data initialisation at probe to avoid a NULL-pointer
dereference on runtime suspend.

Apparently no one uses runtime PM, which currently needs to be enabled
manually through sysfs, with this driver.

Fixes: 413db06c05e7 ("phy: qcom-qmp-usb: clean up probe initialisation")
Cc: stable@vger.kernel.org # 6.2
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20240911115253.10920-2-johan+linaro@kernel.org
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/phy/qualcomm/phy-qcom-qmp-usb.c

index c69577601ae0044d2d7a67ae2cdf8163c9165d10..d5a726c13e39d1698d59ed7b3827e80ea68e0f3e 100644 (file)
@@ -2173,6 +2173,7 @@ static int qmp_usb_probe(struct platform_device *pdev)
                return -ENOMEM;
 
        qmp->dev = dev;
+       dev_set_drvdata(dev, qmp);
 
        qmp->cfg = of_device_get_match_data(dev);
        if (!qmp->cfg)