From patchwork Wed Nov 25 05:42:55 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bjorn Andersson X-Patchwork-Id: 332367 Delivered-To: patch@linaro.org Received: by 2002:a92:5e16:0:0:0:0:0 with SMTP id s22csp163993ilb; Tue, 24 Nov 2020 21:41:47 -0800 (PST) X-Google-Smtp-Source: ABdhPJzTLdWj64By6yAB1WE6SPyzHQB6raBg9x96V64Nv9anUmTnBpfHv/i2NNrVil72GxDoVw2W X-Received: by 2002:a17:906:4348:: with SMTP id z8mr1743731ejm.119.1606282907175; Tue, 24 Nov 2020 21:41:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1606282907; cv=none; d=google.com; s=arc-20160816; b=oHLqGac7GQrKJ53CDd4FFdKVnXStVHgal2mMi0JDcYyx+2MYUyd7u2SS8pXBkdxMIf ijdsUJ6SYaEKDeRQqxZSgUW1aB5SX0aLf0DiVQ0CeeB8laMrIUNt30vT43EWZlrQae4d XBehgUpQlXLNSUrVQcPWpPEFOyweqpx/5+XjD1+4y2oMpGmYE0VJc8InTbSF3kOJ1yHn U6cQxmWkWVKZ+PgGpGX2G2Qh7FcaEz+BQObc1YPauNDYmT3m7wn3/kHklrjMdTnbE1M4 rYBmz8VG699SR07O2jtgJ6ZWNFVSGuN/2DbkzpkYebB2T43LsrLJ6G4vU3tS53uD8ldD aN+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=TrH5HMIZUxZ8p9ZVVV5Tv219hldD8kORSISX8v4WVrU=; b=YlMv+KDLfkSgabbhVcqmaOiRQz2FLCdyz+vPnmEiOC4Ai0UrlkAvMBrulNHPRme5JL kURV/WWeynDkdOlnFNYVbeOvHJ/pOInFWqG3YOlWxjQC0RuU7JBI850EWZ41j5v/CMSO rxyCE4ASuJKg06OrU4TU2tFpBQ7Z+qSt6upS1kABEsy9zkgWeMYWWEFt3UNvt0+AZ7ja RVRSLVwTq+hQoWjOqvCk45h3NvFV9xR1LeCTxuhRUF52Fma2BAVtg/FeEdYSHLabadpp S4HcVitsPrumbPpKeghW4kOEXgNL7jT8GaZZs9FW8GtLI6M+frKGYgZ74u8DhSrkxdPX 8DJg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=MUFNKhqQ; spf=pass (google.com: domain of linux-arm-msm-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-arm-msm-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id j18si682691ejs.70.2020.11.24.21.41.46; Tue, 24 Nov 2020 21:41:47 -0800 (PST) Received-SPF: pass (google.com: domain of linux-arm-msm-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=MUFNKhqQ; spf=pass (google.com: domain of linux-arm-msm-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-arm-msm-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727697AbgKYFlq (ORCPT + 15 others); Wed, 25 Nov 2020 00:41:46 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43024 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727696AbgKYFlp (ORCPT ); Wed, 25 Nov 2020 00:41:45 -0500 Received: from mail-ot1-x344.google.com (mail-ot1-x344.google.com [IPv6:2607:f8b0:4864:20::344]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B9BD6C0613D6 for ; Tue, 24 Nov 2020 21:41:45 -0800 (PST) Received: by mail-ot1-x344.google.com with SMTP id o3so1181548ota.8 for ; Tue, 24 Nov 2020 21:41:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=TrH5HMIZUxZ8p9ZVVV5Tv219hldD8kORSISX8v4WVrU=; b=MUFNKhqQDCHQpfptt+YYZBTPRfTVUTXDGFfpo2K3QohChRAmOyh+drOOkBLeNSIYEi /4Yl3ksYWaJFBB+6L8/ZFvFTL76G+Ufj6anX93pkeJBzRt8nlHPQRVcXXJOvGY+mf5+0 FIWPGvw/1phHPgvOn6jKCgCM4seP+1OlfZgMJSnz8niVSQQppkEGaQba96Oy32AdPJFm Vs4+WGdCHlK1wwk2ECk3OsbV+2CyK4SDMB9Gs/DsC8CspVJKot8iJ1xYEGNYT1mIw6Ys DK2LYih469xzjMLL5Eb+fL/JPadnt8dwuHdCrzm5ujqMxXYs8q7LDxh08vXDkxna4MSY Il9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=TrH5HMIZUxZ8p9ZVVV5Tv219hldD8kORSISX8v4WVrU=; b=Vur+jnRb2uL5UzDwKgrKT+M1Dg0eV/37YRVNKUodZ8JGJVqi/KiBnLrMplhT/d5mlD K5ECeQbAA22Lc7ZCv0Uk9L2yBfUYdZfxBMGFLgjwtUvSnr2CPqQi2vlFvYQgO/VPFRsT exzMRm3+zxRO2fwxFwiQc4VB7QHNMyDLqIO1bNFN7GXdGAWxnUZjYX7tEvurNZIXt4Ab 3MMhBuYHwkGoK/MWuCvT0/mPPkw2qs7F8Xx16bNW15rqA5IgKQJBGAs6D34bnh4gi0ZB hcbPCtf3PGxVAhpcE7u9GnHLxOWzPgYF/t/S+ZKBMLrOFg9CVEsJ17Bdv7ohd1BNepOc WAtw== X-Gm-Message-State: AOAM533AnPcji/GYV/WtCtQhWZQrh03X1mq5L0OJgCVhupLWscbL+q7T lFCGezz7UDtMUGpVigoAa423gA== X-Received: by 2002:a9d:851:: with SMTP id 75mr1731327oty.102.1606282904926; Tue, 24 Nov 2020 21:41:44 -0800 (PST) Received: from localhost.localdomain (104-57-184-186.lightspeed.austtx.sbcglobal.net. [104.57.184.186]) by smtp.gmail.com with ESMTPSA id l12sm806802ooe.27.2020.11.24.21.41.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Nov 2020 21:41:43 -0800 (PST) From: Bjorn Andersson To: Andy Gross , Bjorn Andersson , Srinivas Kandagatla Cc: Greg Kroah-Hartman , Vinod Koul , linux-arm-msm@vger.kernel.org, alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org Subject: [PATCH] slimbus: qcom-ngd-ctrl: Avoid sending power requests without QMI Date: Tue, 24 Nov 2020 21:42:55 -0800 Message-Id: <20201125054255.137067-1-bjorn.andersson@linaro.org> X-Mailer: git-send-email 2.29.2 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org 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 --- drivers/slimbus/qcom-ngd-ctrl.c | 6 ++++++ 1 file changed, 6 insertions(+) -- 2.29.2 diff --git a/drivers/slimbus/qcom-ngd-ctrl.c b/drivers/slimbus/qcom-ngd-ctrl.c index d8decb345e9d..c502e9e93965 100644 --- a/drivers/slimbus/qcom-ngd-ctrl.c +++ b/drivers/slimbus/qcom-ngd-ctrl.c @@ -1229,6 +1229,9 @@ static int qcom_slim_ngd_runtime_resume(struct device *dev) struct qcom_slim_ngd_ctrl *ctrl = dev_get_drvdata(dev); int ret = 0; + if (!ctrl->qmi.handle) + return 0; + if (ctrl->state >= QCOM_SLIM_NGD_CTRL_ASLEEP) ret = qcom_slim_ngd_power_up(ctrl); if (ret) { @@ -1616,6 +1619,9 @@ static int __maybe_unused qcom_slim_ngd_runtime_suspend(struct device *dev) struct qcom_slim_ngd_ctrl *ctrl = dev_get_drvdata(dev); int ret = 0; + if (!ctrl->qmi.handle) + return 0; + ret = qcom_slim_qmi_power_request(ctrl, false); if (ret && ret != -EBUSY) dev_info(ctrl->dev, "slim resource not idle:%d\n", ret);