Received: by 2002:a5d:9c59:0:0:0:0:0 with SMTP id 25csp2253543iof; Wed, 8 Jun 2022 00:34:45 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxIWOoms2hLxktjBF1SwBHcumpBpYP6RkSs2bTBWUJsqRWBRVEHObTCcwWsDQHvwoOUjaID X-Received: by 2002:a17:90b:350d:b0:1e6:7780:6c92 with SMTP id ls13-20020a17090b350d00b001e677806c92mr37333290pjb.46.1654673685229; Wed, 08 Jun 2022 00:34:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1654673685; cv=none; d=google.com; s=arc-20160816; b=uC2Hwa2OF18oyASVpxU6nlgsY//o+h1Y8e5uxY/XNs0SYqaaxV5nEDFSEWrnMQWzju 5kRAJOzbz65juyAuzjb8VHqduGfHRtHeFqCdID/J7+9UW2p1MeodxcCRJ8zYfq2UPMcb LxbME3NCqRauKdpZbcBgFA1QDWbb9QOixp6Qcw1Gaaa0tcNC3IGhMB+pqUu0E11PBR3c blpP5bXDpkGXDGhsqSH8+hMOVc5eP7zdMf0EPvJluTRfQ081uMjVCCDqKVcu+8iox6fw yCflxmPlK6YnOmJEOu5x3rVjI6e6gj9Brfx0BcVHJi6ZjaU77/QR4of0BqvXsfC+RUiH +wgA== 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 :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=Kv2CJfmbF7dwABySub73XpIc9nnriJpmWDKEWhfHpTA=; b=weURGx71aAnT3k/hQ741SDZ9Ne9ORPbvOkERTYxEzWN3YxiqixAJ/HK/eBzlG751JT e+V9mZeYWow3Yp5oPKjuG9PeOgUxX/gVRsVAWUSCBXVlgc/FdPex1N5o6uVAgM8Tq2eZ wP3XK6RPrkYXH1yJGK89N+X6PIsjuqDniUs85DwYHYAV/hnx5wskWz4b2fXmR679Xk5e UWU3nviJKole1qXKiOhnYHcGzq7OZJKNI5KtnniJYf1cs70c8tgLskGL1cttPuzOSAgW dde5dTHktBFQOSs7gjxJiQH40tsxmQ6LGPpRk/3irJUnK05WOiqtm56Eizcsvdd7fPpI ZdmA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=HgxocYdU; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id q195-20020a632acc000000b003fce50f5816si24656394pgq.222.2022.06.08.00.34.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Jun 2022 00:34:45 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=HgxocYdU; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 30A9722C49E; Wed, 8 Jun 2022 00:07:03 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1355880AbiFGTVe (ORCPT + 99 others); Tue, 7 Jun 2022 15:21:34 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42240 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1352495AbiFGSbC (ORCPT ); Tue, 7 Jun 2022 14:31:02 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 596C117B87F; Tue, 7 Jun 2022 10:56:22 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id EBB72B82372; Tue, 7 Jun 2022 17:56:20 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 45647C385A5; Tue, 7 Jun 2022 17:56:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1654624579; bh=HQLfXi5VClokbUvWbIwBneJQw4BcuwFWA1nTon43szk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=HgxocYdUJpHWAf1RiiVXL7SBrbXy7/HmnIev+kIAjXslIDCtiCdmUT3s1ynUAxx2Y 7AAkxe+CvTm0mkv/Fa2tvKr7Rf01DIevB94ZPDh7LnD8pMsTQiY3rGTEwK9AHXpk/u BttGSRCcw+9LStClyl4Ny90NYMiNiOzuiV4QHrKw= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Abhinav Kumar , Rob Clark , Stephen Boyd , Sasha Levin Subject: [PATCH 5.15 351/667] drm/msm/dpu: handle pm_runtime_get_sync() errors in bind path Date: Tue, 7 Jun 2022 19:00:16 +0200 Message-Id: <20220607164945.285394943@linuxfoundation.org> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220607164934.766888869@linuxfoundation.org> References: <20220607164934.766888869@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-3.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Abhinav Kumar [ Upstream commit 64b22a0da12adb571c01edd671ee43634ebd7e41 ] If there are errors while trying to enable the pm in the bind path, it will lead to unclocked access of hw revision register thereby crashing the device. This will not address why the pm_runtime_get_sync() fails but at the very least we should be able to prevent the crash by handling the error and bailing out earlier. changes in v2: - use pm_runtime_resume_and_get() instead of pm_runtime_get_sync() Fixes: 25fdd5933e4c ("drm/msm: Add SDM845 DPU support") Signed-off-by: Abhinav Kumar Reviewed-by: Rob Clark Reviewed-by: Stephen Boyd Patchwork: https://patchwork.freedesktop.org/patch/486721/ Link: https://lore.kernel.org/r/20220518223407.26147-1-quic_abhinavk@quicinc.com Signed-off-by: Abhinav Kumar Signed-off-by: Sasha Levin --- drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c index 33ce6720dfae..2870b0ffe1eb 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c @@ -1001,7 +1001,9 @@ static int dpu_kms_hw_init(struct msm_kms *kms) dpu_kms_parse_data_bus_icc_path(dpu_kms); - pm_runtime_get_sync(&dpu_kms->pdev->dev); + rc = pm_runtime_resume_and_get(&dpu_kms->pdev->dev); + if (rc < 0) + goto error; dpu_kms->core_rev = readl_relaxed(dpu_kms->mmio + 0x0); -- 2.35.1