AMD-GFX Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1] drm/amdgpu: Fix ISP regression issue in kernel v7.0
@ 2026-03-09 21:50 Pratap Nirujogi
  2026-03-09 21:58 ` Mario Limonciello
  2026-03-09 22:05 ` Alex Deucher
  0 siblings, 2 replies; 12+ messages in thread
From: Pratap Nirujogi @ 2026-03-09 21:50 UTC (permalink / raw)
  To: amd-gfx, alexander.deucher, mlimonci, christian.koenig
  Cc: rafael.j.wysocki, benjamin.chan, bin.du, king.li, Pratap Nirujogi,
	Bin Du

Add NULL pointer checks for dev->type before accessing
dev->type->name in ISP genpd add/remove functions to
prevent kernel crashes. Also add MODULE_SOFTDEP to ensure
ISP driver dependencies are loaded in correct order.

The regression was introduced in kernel v7.0 where MFD ISP
device enumeration doesn't complete by the time it is added
to gendp. The timing of ISP device enumeration has changed
because of the changes in registering the device sources in
the device hierarchy.

Co-developed-by: Bin Du <Bin.Du@amd.com>
Fixes: 02c057ddefef ("ACPI: video: Convert the driver to a platform one")
Signed-off-by: Pratap Nirujogi <pratap.nirujogi@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 1 +
 drivers/gpu/drm/amd/amdgpu/isp_v4_1_1.c | 4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
index 95d26f086d545..920595f0d22ca 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
@@ -3212,3 +3212,4 @@ module_exit(amdgpu_exit);
 MODULE_AUTHOR(DRIVER_AUTHOR);
 MODULE_DESCRIPTION(DRIVER_DESC);
 MODULE_LICENSE("GPL and additional rights");
+MODULE_SOFTDEP("post: amd_isp4_capture i2c-designware-amdisp pinctrl-amdisp");
\ No newline at end of file
diff --git a/drivers/gpu/drm/amd/amdgpu/isp_v4_1_1.c b/drivers/gpu/drm/amd/amdgpu/isp_v4_1_1.c
index b3590b33cab9e..485ecdec96184 100644
--- a/drivers/gpu/drm/amd/amdgpu/isp_v4_1_1.c
+++ b/drivers/gpu/drm/amd/amdgpu/isp_v4_1_1.c
@@ -129,7 +129,7 @@ static int isp_genpd_add_device(struct device *dev, void *data)
 	if (!pdev)
 		return -EINVAL;
 
-	if (!dev->type->name) {
+	if (!dev->type || !dev->type->name) {
 		drm_dbg(&adev->ddev, "Invalid device type to add\n");
 		goto exit;
 	}
@@ -165,7 +165,7 @@ static int isp_genpd_remove_device(struct device *dev, void *data)
 	if (!pdev)
 		return -EINVAL;
 
-	if (!dev->type->name) {
+	if (!dev->type || !dev->type->name) {
 		drm_dbg(&adev->ddev, "Invalid device type to remove\n");
 		goto exit;
 	}
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2026-03-18  6:21 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-09 21:50 [PATCH v1] drm/amdgpu: Fix ISP regression issue in kernel v7.0 Pratap Nirujogi
2026-03-09 21:58 ` Mario Limonciello
2026-03-09 22:08   ` Nirujogi, Pratap
2026-03-10 22:52   ` Nirujogi, Pratap
2026-03-11  5:26     ` Mario Limonciello
2026-03-11 15:29       ` Nirujogi, Pratap
2026-03-13 11:49         ` Du, Bin
2026-03-18  4:03           ` Nirujogi, Pratap
2026-03-18  6:21             ` Du, Bin
2026-03-18  3:59         ` Nirujogi, Pratap
2026-03-09 22:05 ` Alex Deucher
2026-03-09 22:18   ` Nirujogi, Pratap

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox