Received: by 2002:a25:ad19:0:0:0:0:0 with SMTP id y25csp3103148ybi; Thu, 18 Jul 2019 21:05:30 -0700 (PDT) X-Google-Smtp-Source: APXvYqwctIwoc8saS7fUybG8WATX1P9iW6qTIJuUyi0kmxn58+KRm5km8Jkouy4+kS7kwQHOzOzR X-Received: by 2002:a17:90a:5884:: with SMTP id j4mr57233753pji.142.1563509130505; Thu, 18 Jul 2019 21:05:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1563509130; cv=none; d=google.com; s=arc-20160816; b=reUOdvzyLN5M8Js3US32jJl0GCNfH9INLgykqqMJXT2srwxkQknKxICLqb2WuGwWYB joWfdaOWfuYIMm/QJhhbJDjUG+rVjcHP5qOB25fZ1TKLdhYouFsfS4OWE5MY/R7lISLN qzZk5ZIux7yeGKnhWIEavGpR2HA/nprRTzrKZNN/3KbiVyEszoaK9iuSpfbrIt6FuoIT N5Ew9BCXqXrnrVsYbVhQ/obhJv9lHL8iV5vLxfHxr9qKTyXi4431WZabpVk9jrW84E+Y lGaWr49xw5irgAvFdC+bHWGpY24uMKikHHESjdUwFS2QxstY2yMlylIxUxb0xi29wNUd GcXA== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=9Nkfn4FLyMNRlfQhPylbKpSz0AJHZwGmP+IQwc/ynVo=; b=Mbgo7JeL62nAJlnTesQxP0KeDTG6wJaHGiG9cU7PrOcgRniBXwNy8+qt5+azQWy9UN seavOVCrz0bC6a6IMjTX8GZ+sXoPJ7nGZHpceC7An4LE7QYwsPfA/1S/fnpKH+cwkXRM 0zfNZZxvNunKN+TCocNAUQ0yiWzc4kg+w0CWA+CSKBpVcYttvlDqeadcnHppPbfySWdM 7Z0rz+gp+Y+q46OIoXSj/435Qc8PGjICZzLARZxnlDCpLo391xjYcTA74ISEL4Hivo6p VosLXRzcrBjAzETJ0+vWJLGQaSYtJP4EYxneYgL/pr7DcHxXs+9e7vAJKlPhTqBrY4bk ZzCQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=NsCsBz30; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m184si197253pgm.580.2019.07.18.21.05.15; Thu, 18 Jul 2019 21:05:30 -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; dkim=pass header.i=@kernel.org header.s=default header.b=NsCsBz30; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729515AbfGSEEI (ORCPT + 99 others); Fri, 19 Jul 2019 00:04:08 -0400 Received: from mail.kernel.org ([198.145.29.99]:36316 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729458AbfGSEEH (ORCPT ); Fri, 19 Jul 2019 00:04:07 -0400 Received: from sasha-vm.mshome.net (c-73-47-72-35.hsd1.nh.comcast.net [73.47.72.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id CA25E21873; Fri, 19 Jul 2019 04:04:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1563509046; bh=aiBok5jbetD1pZbsV3G/FdI3G+d4q4iMH6+RWXHjCFg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=NsCsBz30U242FjaiVsL1jQOlBCVNxCC9F+Xuy363VmMKWnyjPk0zMtLvNSxX5/HwI SwC2HvwdKhpfM9HvoG0HfCgigDftT74YQVz59Mxj32MwhyU/N3v8jWRdgT8YxsKs5z Zj4ZSoi1GC5qjxQchNxxOfufK8Q81Dm9QpMgSDP8= From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Nicholas Kazlauskas , Leo Li , Alex Deucher , Sasha Levin , amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Subject: [PATCH AUTOSEL 5.1 038/141] drm/amd/display: Always allocate initial connector state state Date: Fri, 19 Jul 2019 00:01:03 -0400 Message-Id: <20190719040246.15945-38-sashal@kernel.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190719040246.15945-1-sashal@kernel.org> References: <20190719040246.15945-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Nicholas Kazlauskas [ Upstream commit f04bee34d6e35df26cbb2d65e801adfd0d8fe20d ] [Why] Unlike our regular connectors, MST connectors don't start off with an initial connector state. This causes a NULL pointer dereference to occur when attaching the bpc property since it tries to modify the connector state. We need an initial connector state on the connector to avoid the crash. [How] Use our reset helper to allocate an initial state and reset the values to their defaults. We were already doing this before, just not for MST connectors. Signed-off-by: Nicholas Kazlauskas Reviewed-by: Leo Li Signed-off-by: Alex Deucher Signed-off-by: Sasha Levin --- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c index bfb65e8c728f..9a070da12568 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c @@ -4133,6 +4133,13 @@ void amdgpu_dm_connector_init_helper(struct amdgpu_display_manager *dm, { struct amdgpu_device *adev = dm->ddev->dev_private; + /* + * Some of the properties below require access to state, like bpc. + * Allocate some default initial connector state with our reset helper. + */ + if (aconnector->base.funcs->reset) + aconnector->base.funcs->reset(&aconnector->base); + aconnector->connector_id = link_index; aconnector->dc_link = link; aconnector->base.interlace_allowed = false; @@ -4315,9 +4322,6 @@ static int amdgpu_dm_connector_init(struct amdgpu_display_manager *dm, &aconnector->base, &amdgpu_dm_connector_helper_funcs); - if (aconnector->base.funcs->reset) - aconnector->base.funcs->reset(&aconnector->base); - amdgpu_dm_connector_init_helper( dm, aconnector, -- 2.20.1