From patchwork Mon Oct 12 13:26:24 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg KH X-Patchwork-Id: 270215 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 00027C433DF for ; Mon, 12 Oct 2020 14:04:40 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id C641521D7F for ; Mon, 12 Oct 2020 14:04:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1602511480; bh=G9qADhESR9WwZPWF3gf8qwOswwDOIOS9GyIrpKq8Bw8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=rcMn5HkX9ImC1LSif9eDEV2JaCBaeRkl+T8MfOSACKjOB+kRnDGwIml7TVcPi35em r2MgLT7Dof+lk8MaARJXqM/ffHZHNnxJHHg+fBGvn8X703YnAFsY6BRlLR7EhcAhHH 67Z5Jiz1SC+tHsyvQCb95BQK7LB7uc/xyRp+ygic= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730424AbgJLOEj (ORCPT ); Mon, 12 Oct 2020 10:04:39 -0400 Received: from mail.kernel.org ([198.145.29.99]:38768 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730972AbgJLNgH (ORCPT ); Mon, 12 Oct 2020 09:36:07 -0400 Received: from localhost (83-86-74-64.cable.dynamic.v4.ziggo.nl [83.86.74.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 5F5A6204EA; Mon, 12 Oct 2020 13:36:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1602509766; bh=G9qADhESR9WwZPWF3gf8qwOswwDOIOS9GyIrpKq8Bw8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=wJknhEuYOZ8CA4vXvhkAM9PW/vaulRRrccWCFzns9MTOZGevuwfEJcPPZIWmRTfPw 2df/NRB7E7uuQvcAb2+UffFwwXJuIw075LHq8c3LAWp+YqHrCuTsHtelS9Wy5dAXWc /QiZ/cmGXtcGbPXdwUiVZO0ZSQDSVjkLiCrTKP8c= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Jean Delvare , Navid Emamdoost , Alex Deucher Subject: [PATCH 4.14 08/70] drm/amdgpu: restore proper ref count in amdgpu_display_crtc_set_config Date: Mon, 12 Oct 2020 15:26:24 +0200 Message-Id: <20201012132630.624101753@linuxfoundation.org> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201012132630.201442517@linuxfoundation.org> References: <20201012132630.201442517@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Jean Delvare commit a39d0d7bdf8c21ac7645c02e9676b5cb2b804c31 upstream. A recent attempt to fix a ref count leak in amdgpu_display_crtc_set_config() turned out to be doing too much and "fixed" an intended decrease as if it were a leak. Undo that part to restore the proper balance. This is the very nature of this function to increase or decrease the power reference count depending on the situation. Consequences of this bug is that the power reference would eventually get down to 0 while the display was still in use, resulting in that display switching off unexpectedly. Signed-off-by: Jean Delvare Fixes: e008fa6fb415 ("drm/amdgpu: fix ref count leak in amdgpu_display_crtc_set_config") Cc: stable@vger.kernel.org Cc: Navid Emamdoost Cc: Alex Deucher Signed-off-by: Alex Deucher Signed-off-by: Greg Kroah-Hartman --- drivers/gpu/drm/amd/amdgpu/amdgpu_display.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c @@ -284,7 +284,7 @@ int amdgpu_crtc_set_config(struct drm_mo take the current one */ if (active && !adev->have_disp_power_ref) { adev->have_disp_power_ref = true; - goto out; + return ret; } /* if we have no active crtcs, then drop the power ref we got before */