]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
PCI: qcom: Prevent potential error pointer dereference
authorDan Carpenter <dan.carpenter@linaro.org>
Mon, 8 Jul 2024 18:05:37 +0000 (13:05 -0500)
committerKrzysztof Wilczyński <kwilczynski@kernel.org>
Wed, 10 Jul 2024 05:39:11 +0000 (05:39 +0000)
Only call dev_pm_opp_put() if dev_pm_opp_find_freq_exact() succeeds;
otherwise it leads to an error pointer dereference.

Fixes: 78b5f6f8855e ("PCI: qcom: Add OPP support to scale performance")
Link: https://lore.kernel.org/linux-pci/20240708180539.1447307-3-dan.carpenter@linaro.org
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Tested-by: Anders Roxell <anders.roxell@linaro.org>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
drivers/pci/controller/dwc/pcie-qcom.c

index 067ccb9cc6d0e67c83a5bd11ac053fbb0dc233f1..5973df2238b062aceea670dd8b8fbedfc8dcf9c3 100644 (file)
@@ -1447,8 +1447,8 @@ static void qcom_pcie_icc_opp_update(struct qcom_pcie *pcie)
                        if (ret)
                                dev_err(pci->dev, "Failed to set OPP for freq (%lu): %d\n",
                                        freq_kbps * width, ret);
+                       dev_pm_opp_put(opp);
                }
-               dev_pm_opp_put(opp);
        }
 }