From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6BFCE37755A for ; Mon, 3 Aug 2026 16:11:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.50 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785773495; cv=none; b=TdQxTI59GzTBunRLXhOkshbPHfMGNWgkuf2am/LSs8KhjxYDeGPgOUFGEl8n+YvEJzCDQEraMOjiHGIY5Z5tHdYjjRsyGigcGxUBmV4UNkpTd8/Q/esdvzciywcLYhB5J/r4GtXTEIGcPQ8ybG7UcLlfWOVXkjQslXBEpQVx20o= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785773495; c=relaxed/simple; bh=tfv0vYDy2N9RvqMA4TSJVpdsIFekT4UQuZsb9p/jgHg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=OIxUDhxWpddFKYuOZwiI4mrDStzCrQrOptu9bmBGBeRfVoymEy4K0+SrRCM23dTPwkbUgxURKCFsqoFxouvekNHtVkkXyCyNq+cWWhE2+zRSVbvhhZoawgJT+UyaPbTeRWUrHYOfx7YdXNoRPDB7xMrTkqBvf0n/mnQ8zqu7Xkc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Wdj4VmFl; arc=none smtp.client-ip=209.85.128.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Wdj4VmFl" Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-4980dc26022so14728645e9.1 for ; Mon, 03 Aug 2026 09:11:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1785773493; x=1786378293; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=2K51/FwVv7xc1HWMtJnTlI6NfH3sfU8zC/PFmRYZpYI=; b=Wdj4VmFlCi2kQAMZhqKg+Qr5VtvbFGYHnPAvZGq0ghairMpPhrmXSYMbp01WizK1qS hTQ6oejBbk353dXzSOk9UC+nL77xnsHegCVaOcPeliySYvzX4V3zAU7+4BdyAZMlYjym 5f7vV13mbY43AknouTt953tagq+oWmRLwCGLUpzrvoMoCAiV05546RtsmMbEmbK79YVK xCCKjN8I6NmGRagtBjfwTphjTZimu9vfylr7oRPCEmiAtPRv+FD1K6VKGYeL00KVi5k6 IvGJU23Ye2Ovt3/499nuJQZsO2MobeLmk+E/0CVkfu/SwkjWBOEtSZQLBpgz0ShJZFty ot9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785773493; x=1786378293; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=2K51/FwVv7xc1HWMtJnTlI6NfH3sfU8zC/PFmRYZpYI=; b=cbRNNydTbOQjLDA22oAWqoIM8khUmae9RtjsoUDMnOWYQRwE9gYDfe6c5wT/f8FMOY z8uudpdf+z5o+r7hWoKMpdImZ8XHc7LGRkOt4DkSKHwVtuLCbH0c6vzkIT2ttDzZjCS8 eHjpqB9b0DBa9YAaxvQJC3s7JxEa59wymO7z3Nnwm4Yyb5ObUSLEUfSO7L6cvFpNpLby k07rxCCqxCzIRM/GElwDsiRwFrVo40V0LLDhj7NyAaVO/ATUm6O29mWoEoKf22Mh9DCK iWt1bezJyhZJE36MfT85SGEJLs0fe24VHPEh3QEz/AbhppzIv0fDU3BETohFS5VGWHoQ hPFg== X-Forwarded-Encrypted: i=1; AHgh+Rrtfrw0Y0hYTNTl98HKJnXu/kYsiHnK1atmfnK3hb09FUafwEkzWVgfoZNe4IA/RO7ZwzkujStAHFSltuQ=@vger.kernel.org X-Gm-Message-State: AOJu0Yza6EZ2TiafApcdkUsKG0rLUMdeFv28td6W9JFFZQYaGd1pICCv 0oV83i7E3IBGsCMZcZkM+hElCCqyN/XjzO+Z115AqKSZKozSrVm//J44 X-Gm-Gg: AR+sD107J3rlDrQQO3FP6GTv+l9/wJ+UvPqhe5YoqqBPbfiWW9ui3MGv9imb7ok9MP9 mTZ/MByCBJDxYJ/CyTL15isAWM7K4FKHoWTFg/MMdYK2DFCDJ0VlGyllFBg4UYSdXO+YgZla0WP +Cia6eVBg+y5PxxHpHGb59MUMrilZy5koGAMfCCAtJETrbvV0ZFQ9sV8VL5cfN/tmVopq+3duyl DsOPwxh9Bja3I44WipdUOOObcVAgepT01xfsAVU3qhfjUPIC2dB90reFpVUkOQOs5InzoTOyaai MW1wQMj8iE7YORwOp4Ljfl9uyornzrMK0dracJTPKHCsMd70VAsCuooz5CA5qFNqAQQ7PLsTjSW 6nsZaBn/Nu9WHVVkZvPqHukHiyCWi7CAtuKx1hj3E2cNN/J0sgeXoiySna5Wp6KYOkNoMaPMaCe gUfxp7w0ufm7bTwZ6SV3gFsobkFPyIPoENAttSfbdaBXTldPGrIrfThLlN0PveStLLeBp8Cq4/J NhwyeRAU4HIesYsCOG82Vf06M2NlxbMbkeWffM/8xn0z0bSgJgSBAOAXPlwr9P52yT/4WGvo93I /yFpwKi+vdiLBmr1NP+o16Et0pd3sZDOpvqJ+tqSnsszgmSWFUqMX0J28TICt9ybQcHHCdSBFjV yvGPizIsyX1TrcuwXkTrfrnmKanX3MRyISble1bCGviPdvsOjUn+WmeMjywc6SqjnaAUB3wZkXc rtqw== X-Received: by 2002:a05:600c:4444:b0:493:f5bf:4dc6 with SMTP id 5b1f17b1804b1-4980c645e1amr227533685e9.7.1785773492549; Mon, 03 Aug 2026 09:11:32 -0700 (PDT) Received: from jernej-laptop (APN-122-100-117-gprs.simobil.net. [46.122.100.117]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49949fc2da2sm3363735e9.3.2026.08.03.09.11.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Aug 2026 09:11:32 -0700 (PDT) From: Jernej Skrabec To: wens@kernel.org Cc: maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, samuel@sholland.org, dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, Jernej Skrabec Subject: [PATCH 08/13] drm/sun4i: crtc: Propagate layer initialization error Date: Mon, 3 Aug 2026 18:10:46 +0200 Message-ID: X-Mailer: git-send-email 2.55.0 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit sun4i_crtc_init() returns plain NULL when layer initialization fails, while all its other error paths return an error pointer. The only caller, sun4i_tcon_bind(), checks the result with IS_ERR() and happily continues with tcon->crtc set to NULL. sun4i_rgb_init() and sun4i_lvds_init() then dereference it in drm_crtc_mask(), which oopses. Return the error pointer instead. Fixes: dcd215801b02 ("drm/sun4i: Drop primary layer pointer from sun4i_drv") Signed-off-by: Jernej Skrabec --- drivers/gpu/drm/sun4i/sun4i_crtc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/sun4i/sun4i_crtc.c b/drivers/gpu/drm/sun4i/sun4i_crtc.c index c2f7f69baf75..3fa1f4fda0f0 100644 --- a/drivers/gpu/drm/sun4i/sun4i_crtc.c +++ b/drivers/gpu/drm/sun4i/sun4i_crtc.c @@ -208,7 +208,7 @@ struct sun4i_crtc *sun4i_crtc_init(struct drm_device *drm, planes = sunxi_engine_layers_init(drm, engine); if (IS_ERR(planes)) { dev_err(drm->dev, "Couldn't create the planes\n"); - return NULL; + return ERR_CAST(planes); } /* find primary and cursor planes for drm_crtc_init_with_planes */ -- 2.43.0