[PATCH 6.12 regression fix 1/2] drm/radeon: Revert: "remove load callback from kms_driver"
Hans de Goede
hdegoede at redhat.com
Thu Oct 3 14:36:39 UTC 2024
Commit 90985660ba48 ("drm/radeon: remove load callback from kms_driver")
causes my system with a R7 250E card to hang at boot, reporting
the following (abbreviated) oops captured by serial console:
[ 7.512157] BUG: kernel NULL pointer dereference, address: 0000000000000050
[ 7.519149] #PF: supervisor read access in kernel mode
[ 7.524309] #PF: error_code(0x0000) - not-present page
[ 7.529474] PGD 0 P4D 0
[ 7.532024] Oops: Oops: 0000 [#1] PREEMPT SMP NOPTI
[ 7.532200] ttyS ttyS0: 1 input overrun(s)
[ 7.536930] Hardware name: Micro-Star International Co., Ltd. MS-7C95/B550M PRO-VDH WIFI (MS-7C95), BIOS 2.L0 07/18/2024
[ 7.536931] RIP: 0010:drm_dp_aux_register+0xbf/0xf0 [drm_display_helper]
[ 7.672486] Call Trace:
[ 7.674951] <TASK>
[ 7.698208] ? asm_exc_page_fault+0x22/0x30
[ 7.702417] ? drm_dp_aux_register+0xbf/0xf0 [drm_display_helper]
[ 7.708545] radeon_dp_aux_init+0x91/0xc0 [radeon]
[ 7.713401] radeon_get_atom_connector_info_from_object_table+0x63d/0x9e0 [radeon]
[ 7.721021] ? __entry_text_end+0xfe4dc/0x1025cd
[ 7.725680] ? srso_alias_return_thunk+0x5/0xfbef5
[ 7.730501] ? rcu_is_watching+0xd/0x40
[ 7.734359] ? srso_alias_return_thunk+0x5/0xfbef5
[ 7.739182] ? __kmalloc_noprof+0x2b6/0x420
[ 7.743386] ? drm_mode_crtc_set_gamma_size+0x31/0xb0
[ 7.748467] ? radeon_modeset_init+0x3f1/0x4b0 [radeon]
[ 7.753730] ? srso_alias_return_thunk+0x5/0xfbef5
[ 7.758548] radeon_modeset_init+0x3f1/0x4b0 [radeon]
[ 7.763632] ? radeon_device_init+0x6ff/0xbd0 [radeon]
[ 7.768813] radeon_driver_load_kms+0xd1/0x230 [radeon]
[ 7.934843] Modules linked in: radeon(+) drm_ttm_helper ttm crct10dif_pclmul crc32_pclmul crc32c_intel video uas ghash_clmulni_intel i2c_algo_bit usb_storage sha512_ssse3 drm_suballoc_helper sha256_ssse3 nvme drm_display_helper sha1_ssse3 ccp nvme_core cec sp5100_tco wmi hid_lg_g15 hid_logitech_hidpp hid_logitech_dj scsi_dh_rdac scsi_dh_emc scsi_dh_alua ip6_tables ip_tables fuse i2c_dev
[ 8.067943] note: (udev-worker)[688] exited with irqs disabled
Revert the change to avoid this crash.
Fixes: 90985660ba48 ("drm/radeon: remove load callback from kms_driver")
Signed-off-by: Hans de Goede <hdegoede at redhat.com>
---
Cc: Thomas Zimmermann <tzimmermann at suse.de>
Cc: Wu Hoi Pok <wuhoipok at gmail.com>
---
drivers/gpu/drm/radeon/radeon_drv.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/radeon/radeon_drv.c b/drivers/gpu/drm/radeon/radeon_drv.c
index e5a6f3e7c75b..695367c22b7a 100644
--- a/drivers/gpu/drm/radeon/radeon_drv.c
+++ b/drivers/gpu/drm/radeon/radeon_drv.c
@@ -316,10 +316,6 @@ static int radeon_pci_probe(struct pci_dev *pdev,
pci_set_drvdata(pdev, ddev);
- ret = radeon_driver_load_kms(ddev, flags);
- if (ret)
- goto err_agp;
-
ret = drm_dev_register(ddev, flags);
if (ret)
goto err_agp;
@@ -580,6 +576,7 @@ static const struct drm_ioctl_desc radeon_ioctls_kms[] = {
static const struct drm_driver kms_driver = {
.driver_features =
DRIVER_GEM | DRIVER_RENDER | DRIVER_MODESET,
+ .load = radeon_driver_load_kms,
.open = radeon_driver_open_kms,
.postclose = radeon_driver_postclose_kms,
.unload = radeon_driver_unload_kms,
--
2.46.2
More information about the dri-devel
mailing list