Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

slimbus: qcom-ngd-ctrl: Avoid sending power requests without QMI

Attempting to send a power request during PM operations, when the QMI
handle isn't initialized results in a NULL pointer dereference. So check
if the QMI handle has been initialized before attempting to post the
power requests.

Fixes: 917809e2280b ("slimbus: ngd: Add qcom SLIMBus NGD driver")
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20201127102451.17114-7-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Bjorn Andersson and committed by
Greg Kroah-Hartman
39014ce6 a35c6e18

+6
+6
drivers/slimbus/qcom-ngd-ctrl.c
··· 1229 1229 struct qcom_slim_ngd_ctrl *ctrl = dev_get_drvdata(dev); 1230 1230 int ret = 0; 1231 1231 1232 + if (!ctrl->qmi.handle) 1233 + return 0; 1234 + 1232 1235 if (ctrl->state >= QCOM_SLIM_NGD_CTRL_ASLEEP) 1233 1236 ret = qcom_slim_ngd_power_up(ctrl); 1234 1237 if (ret) { ··· 1618 1615 { 1619 1616 struct qcom_slim_ngd_ctrl *ctrl = dev_get_drvdata(dev); 1620 1617 int ret = 0; 1618 + 1619 + if (!ctrl->qmi.handle) 1620 + return 0; 1621 1621 1622 1622 ret = qcom_slim_qmi_power_request(ctrl, false); 1623 1623 if (ret && ret != -EBUSY)