Received: by 2002:a25:6193:0:0:0:0:0 with SMTP id v141csp545643ybb; Fri, 3 Apr 2020 07:36:29 -0700 (PDT) X-Google-Smtp-Source: APiQypIcaC/0483KMiiuUXUMfJdQnJRPDHf/5V5mqbrxm7Z6965d09S8HnX5oyLvXd+7qqXudFPV X-Received: by 2002:a05:6830:403d:: with SMTP id i29mr6117721ots.353.1585924588975; Fri, 03 Apr 2020 07:36:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1585924588; cv=none; d=google.com; s=arc-20160816; b=egdUF95wXyXoTrqPkS4qcGlwOutk8VOJFjd0yX7UdUKeynfFWvuRHqlJt4CkJiRHCM fwn5ForHQdCQzZpULfAIzAb1vdRUadlNfaEkXBWyKayKMhl3XBUp4exxlKzBiY8dUGvN jDnbPOqLY34ggCp3Tw9/L9ahUC149PGipOeAQSMQe9sv9ZFeVdqRq1vgkZod4M7Nz+Y0 z8sFUEiKTKUdkrS34XSRK1e018vke2++wwDDy51o4I/1auaqzRbO4YgmsXbUYh0SVPnA yh/jzxyxPSF0p3w/zsmvs6BACQs5pVLqFsj0ygmq2OU4G6wvntzi74Ge5k462li4cCy4 RqSQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:to:from; bh=DsS/IP5nJMkmkEjf7eFHj6bYdGXp2I8/CDxEDmm7qbg=; b=ADASfqci7KJ+TFXDkdpKX3jsMpOWc4uDC6jAUQC4ohmyL/F57BeaRAv4GeiMcErbQA jH2uwM8xC572BZTxcFF/3+qo7DT01YAmnYc3qFWsnqMJQO7swBKP47unnkkpMNB1mXM+ u1Tq5fXYFPwO43L1WoTdayldzUd7tK+8WXLZQDVg0TDHyO/ardNWm0qRwW5KX6LG/3SN 3MG85Tgko7J6Ig5m1GOFIXrEzbfQBw1lGTnftQc8VtdmDhoBmnPzqfl/4Qc2v6dgOWEJ Y3EfW9R01QWV443NL3+QwXfh7rN02SkAzw9r3bp0i9NgcuVXvFLEG1e7m0IF8EEPDCQx Pnow== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=canonical.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id c3si4199435oto.283.2020.04.03.07.36.10; Fri, 03 Apr 2020 07:36:28 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=canonical.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2390962AbgDCOfv (ORCPT + 99 others); Fri, 3 Apr 2020 10:35:51 -0400 Received: from youngberry.canonical.com ([91.189.89.112]:56992 "EHLO youngberry.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728066AbgDCOfu (ORCPT ); Fri, 3 Apr 2020 10:35:50 -0400 Received: from [123.118.214.4] (helo=localhost.localdomain) by youngberry.canonical.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1jKNQ8-0003KD-Dj; Fri, 03 Apr 2020 14:35:47 +0000 From: Aaron Ma To: alexander.deucher@amd.com, christian.koenig@amd.com, David1.Zhou@amd.com, airlied@linux.ie, daniel@ffwll.ch, Hawking.Zhang@amd.com, xiaojie.yuan@amd.com, Felix.Kuehling@amd.com, amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, aaron.ma@canonical.com Subject: [PATCH] drm/amdgpu: Fix oops when pp_funcs is unset in ACPI event Date: Fri, 3 Apr 2020 22:34:19 +0800 Message-Id: <20200403143419.155503-1-aaron.ma@canonical.com> X-Mailer: git-send-email 2.26.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On ARCTURUS and RENOIR, powerplay is not supported yet. When plug in or unplug power jack, ACPI event will issue. Then kernel NULL pointer BUG will be triggered. Check for NULL pointers before calling. Signed-off-by: Aaron Ma --- drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c index f197f1be0969..611de69f9d48 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c @@ -89,7 +89,8 @@ void amdgpu_pm_acpi_event_handler(struct amdgpu_device *adev) adev->pm.ac_power = true; else adev->pm.ac_power = false; - if (adev->powerplay.pp_funcs->enable_bapm) + if (adev->powerplay.pp_funcs && + adev->powerplay.pp_funcs->enable_bapm) amdgpu_dpm_enable_bapm(adev, adev->pm.ac_power); mutex_unlock(&adev->pm.mutex); -- 2.17.1