Skip to content

Commit

Permalink
drm/radeon: Revert: "remove load callback from kms_driver"
Browse files Browse the repository at this point in the history
Commit 9098566 ("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: 9098566 ("drm/radeon: remove load callback from kms_driver")
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
  • Loading branch information
jwrdegoede authored and intel-lab-lkp committed Oct 3, 2024
1 parent 9852d85 commit b2146ed
Showing 1 changed file with 1 addition and 4 deletions.
5 changes: 1 addition & 4 deletions drivers/gpu/drm/radeon/radeon_drv.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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,
Expand Down

0 comments on commit b2146ed

Please sign in to comment.