linux/drivers/gpu/drm/radeon
Daniel Palmer 745bae76ac drm/radeon: Remove calls to drm_put_dev()
Since the allocation of the drivers main structure was changed to
devm_drm_dev_alloc() drm_put_dev()'ing to trigger it to be free'd
should be done by devres.

However, drm_put_dev() is still in the probe error and device remove
paths. When the driver fails to probe warnings like the following are
shown because devres is trying to drm_put_dev() after the driver
already did it.

[    5.642230] radeon 0000:01:05.0: probe with driver radeon failed with error -22
[    5.649605] ------------[ cut here ]------------
[    5.649607] refcount_t: underflow; use-after-free.
[    5.649620] WARNING: CPU: 0 PID: 357 at lib/refcount.c:28 refcount_warn_saturate+0xbe/0x110

Fixes: a9ed2f052c ("drm/radeon: change drm_dev_alloc to devm_drm_dev_alloc")
Signed-off-by: Daniel Palmer <daniel@0x0f.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit 3eb8c0b4c0)
2025-10-28 11:00:08 -04:00
..
reg_srcs
.gitignore drm/radeon: fix incorrrect SPDX-License-Identifiers 2022-06-21 17:54:53 -04:00
Kconfig PCI: Add CONFIG_MMU dependency 2025-04-23 15:40:30 -05:00
Makefile drm/radeon: Only build fbdev if DRM_FBDEV_EMULATION is set 2023-03-31 11:18:42 -04:00
ObjectID.h
atom-bits.h drm/radeon: Clean up errors in ni_dpm.c 2024-01-18 15:39:02 -05:00
atom-names.h
atom-types.h
atom.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
atom.h drm/radeon: check PS, WS index 2024-01-15 18:35:37 -05:00
atombios.h drm/radeon: fixing typo in macro name 2025-05-22 12:02:01 -04:00
atombios_crtc.c drm/radeon: check PS, WS index 2024-01-15 18:35:37 -05:00
atombios_dp.c drm/display: dp: change drm_dp_dpcd_read_link_status() return value 2025-03-25 16:20:38 +02:00
atombios_encoders.c drm/radeon/atom: Remove redundant ternary operators 2025-09-05 17:38:39 -04:00
atombios_i2c.c drm/radeon: check PS, WS index 2024-01-15 18:35:37 -05:00
avivod.h
btc_dpm.c drm/radeon/btc_dpm: Clean up errors in btc_dpm.c 2024-01-18 15:39:11 -05:00
btc_dpm.h
btcd.h
cayman_blit_shaders.h drm/radeon: change cayman_default_state table from global to static 2022-04-11 13:50:35 -04:00
ci_dpm.c drm/radeon/dpm: Remove redundant ternary operators 2025-09-05 17:38:40 -04:00
ci_dpm.h drm/radeon: Clean up errors in ci_dpm.h 2024-01-18 15:40:19 -05:00
ci_smc.c
cik.c drm/radeon/cik: Clean up doorbells 2025-05-16 13:37:21 -04:00
cik.h drm/radeon/cik: Move 'Move 'cik_sdma_*()'s prototypes to shared header 2020-11-16 15:56:35 -05:00
cik_blit_shaders.h drm/radeon: change cik_default_state table from global to static 2022-04-26 11:43:51 -04:00
cik_reg.h
cik_sdma.c drm/radeon/cik_sdma: Move 'amdgpu_cik_gpu_check_soft_reset()'s prototype to shared header 2020-11-16 15:56:35 -05:00
cikd.h
clearstate_cayman.h drm/radeon: Clean up errors in clearstate_cayman.h 2024-01-18 15:40:15 -05:00
clearstate_ci.h drm/radeon: Clean up errors in clearstate_ci.h 2024-01-18 15:40:13 -05:00
clearstate_defs.h
clearstate_evergreen.h drm/radeon: Fix warning using plain integer as NULL 2023-11-17 09:29:54 -05:00
clearstate_si.h drm/radeon: that open brace { should be on the previous line 2023-07-27 14:47:29 -04:00
cypress_dpm.c drm/radeon: fix possible division-by-zero errors 2023-06-09 10:44:47 -04:00
cypress_dpm.h
dce3_1_afmt.c drm/radeon: include drm/drm_edid.h only where needed 2023-12-13 15:28:31 -05:00
dce6_afmt.c drm/radeon: change rdev->ddev to rdev_to_drm(rdev) 2024-07-23 17:31:59 -04:00
dce6_afmt.h drm/radeon/radeon_audio: Move 'dce6_*()'s prototypes to shared header 2020-11-16 15:56:35 -05:00
evergreen.c drm/radeon: change rdev->ddev to rdev_to_drm(rdev) 2024-07-23 17:31:59 -04:00
evergreen.h drm/radeon/evergreen: Remove the repeated declaration 2021-05-25 23:47:24 -04:00
evergreen_blit_shaders.h drm/radeon/kms: change evergreen_default_state table from global to static 2022-04-19 13:58:32 -04:00
evergreen_cs.c drm/radeon: use dev_warn_once() in CS parsers 2025-09-05 17:38:42 -04:00
evergreen_dma.c drm/radeon/evergreen_dma: Move 'evergreen_gpu_check_soft_reset()'s prototype to shared header 2020-11-16 15:56:34 -05:00
evergreen_hdmi.c drm/radeon: convert to using is_hdmi and has_audio from display info 2024-05-23 14:37:24 +03:00
evergreen_hdmi.h drm/radeon/evergreen_hdmi: Move 'evergreen_*()' and 'dce4_*()' HDMI prototypes to shared header 2020-11-16 15:56:34 -05:00
evergreen_reg.h drm/radeon: Clean up errors in evergreen_reg.h 2024-01-18 15:39:55 -05:00
evergreen_smc.h drm/radeon/dpm: Clean up errors in evergreen_smc.h 2024-01-18 15:40:17 -05:00
evergreend.h
kv_dpm.c drm/radeon: fixing typo in macro name 2025-05-22 12:02:01 -04:00
kv_dpm.h
kv_smc.c drm/radeon: Clean up errors in kv_smc.c 2024-01-18 15:39:53 -05:00
mkregtable.c
ni.c drm/radeon: change rdev->ddev to rdev_to_drm(rdev) 2024-07-23 17:31:59 -04:00
ni.h drm/radeon/ni_dma: Move 'cayman_gpu_check_soft_reset()'s prototype to shared header 2020-11-16 15:56:34 -05:00
ni_dma.c drm/radeon/ni_dma: Move 'cayman_gpu_check_soft_reset()'s prototype to shared header 2020-11-16 15:56:34 -05:00
ni_dpm.c drm/radeon/dpm: Remove redundant ternary operators 2025-09-05 17:38:40 -04:00
ni_dpm.h drm/radeon/ni_dpm: Clean up errors in ni_dpm.c 2024-01-18 15:38:59 -05:00
ni_reg.h
nid.h
nislands_smc.h drm/radeon/ni_dpm: Clean up errors in nislands_smc.h 2024-01-18 15:40:36 -05:00
ppsmc.h
pptable.h drm/radeon: Remove __counted_by from StateArray.states[] 2024-06-05 10:58:19 -04:00
r100.c drm/radeon: use dev_warn_once() in CS parsers 2025-09-05 17:38:42 -04:00
r100_track.h
r100d.h
r200.c drm/radeon: use dev_warn_once() in CS parsers 2025-09-05 17:38:42 -04:00
r300.c drm/radeon: use dev_warn_once() in CS parsers 2025-09-05 17:38:42 -04:00
r300_reg.h gpu/drm/radeon: Clean up errors in evergreen.c 2024-01-18 15:39:50 -05:00
r300d.h
r420.c drm/radeon: change rdev->ddev to rdev_to_drm(rdev) 2024-07-23 17:31:59 -04:00
r420d.h
r500_reg.h
r520.c drm/radeon: change rdev->ddev to rdev_to_drm(rdev) 2024-07-23 17:31:59 -04:00
r520d.h
r600.c drm/radeon: change rdev->ddev to rdev_to_drm(rdev) 2024-07-23 17:31:59 -04:00
r600.h drm/radeon/radeon_audio: Move 'r600_*' prototypes into shared header 2020-11-16 15:56:35 -05:00
r600_cs.c drm/radeon: use dev_warn_once() in CS parsers 2025-09-05 17:38:42 -04:00
r600_dma.c drm/radeon/r600_dma: Move 'r600_gpu_check_soft_reset()'s prototype to shared location 2020-11-16 15:56:34 -05:00
r600_dpm.c drm/radeon: change rdev->ddev to rdev_to_drm(rdev) 2024-07-23 17:31:59 -04:00
r600_dpm.h drm/radeon: Clean up errors in r600_dpm.h 2024-01-18 15:38:52 -05:00
r600_hdmi.c drm/radeon/radeon_audio: Remove unused r600_hdmi_audio_workaround 2025-04-22 08:51:45 -04:00
r600_reg.h
r600d.h
radeon.h drm/radeon: Remove unused radeon_fence_wait_any 2025-04-22 08:51:45 -04:00
radeon_acpi.c drm/radeon: change rdev->ddev to rdev_to_drm(rdev) 2024-07-23 17:31:59 -04:00
radeon_acpi.h drm/radeon: Fix missing prototypes in radeon_atpx_handler.c 2023-06-15 11:06:58 -04:00
radeon_agp.c drm/radeon: change rdev->ddev to rdev_to_drm(rdev) 2024-07-23 17:31:59 -04:00
radeon_asic.c drm/radeon: Clean up errors in radeon_asic.c 2024-01-18 15:39:16 -05:00
radeon_asic.h drm/radeon/radeon_audio: Remove unused r600_hdmi_audio_workaround 2025-04-22 08:51:45 -04:00
radeon_atombios.c drm/radeon: convert bios_hardcoded_edid to drm_edid 2024-07-27 17:35:10 -04:00
radeon_atombios.h drm/radeon/radeon_encoders: Move 'radeon_atom_backlight_init's prototype to shared header 2020-11-16 15:56:34 -05:00
radeon_atpx_handler.c drm/radeon: Clean up errors in radeon_atpx_handler.c 2024-01-18 15:38:46 -05:00
radeon_audio.c drm/radeon: use eld_mutex to protect access to connector->eld 2024-12-16 18:02:08 +02:00
radeon_audio.h drm/radeon: Clean up errors in radeon_audio.h 2024-01-18 15:39:27 -05:00
radeon_benchmark.c
radeon_bios.c drm/radeon: Use pci_get_base_class() to reduce duplicated code 2023-09-28 16:54:54 -05:00
radeon_clocks.c
radeon_combios.c drm/radeon: convert bios_hardcoded_edid to drm_edid 2024-07-27 17:35:10 -04:00
radeon_connectors.c drm/connector: make mode_valid take a const struct drm_display_mode 2025-01-07 12:45:19 +02:00
radeon_cs.c drm/radeon: use dev_warn_once() in CS parsers 2025-09-05 17:38:42 -04:00
radeon_cursor.c
radeon_device.c drm/radeon: fix typos 2025-08-15 13:06:19 -04:00
radeon_device.h drm/radeon/radeon: Move prototype into shared header 2020-11-16 15:56:33 -05:00
radeon_display.c amd-drm-next-6.18-2025-08-29: 2025-09-02 09:35:54 +10:00
radeon_dp_auxch.c drm/radeon: Do not use deprecated drm log API 2023-01-18 10:00:03 +01:00
radeon_drv.c drm/radeon: Remove calls to drm_put_dev() 2025-10-28 11:00:08 -04:00
radeon_drv.h drm: remove driver date from struct drm_driver and all drivers 2024-12-05 12:35:42 +02:00
radeon_encoders.c drm/radeon: Fix encoder->possible_clones 2024-10-15 11:25:01 -04:00
radeon_family.h
radeon_fbdev.c drm/radeon: Pass along the format info from .fb_create() to drm_helper_mode_fill_fb_struct() 2025-08-06 15:26:16 +03:00
radeon_fence.c drm/radeon: Remove unused radeon_fence_wait_any 2025-04-22 08:51:45 -04:00
radeon_gart.c drm/radeon: Use vmalloc_array and vcalloc to simplify code 2025-08-18 17:06:24 -04:00
radeon_gem.c drm/radeon: switch over to drm_exec v2 2024-11-20 13:59:34 +01:00
radeon_i2c.c drm/radeon: change rdev->ddev to rdev_to_drm(rdev) 2024-07-23 17:31:59 -04:00
radeon_ib.c drm/radeon: change rdev->ddev to rdev_to_drm(rdev) 2024-07-23 17:31:59 -04:00
radeon_irq_kms.c drm/radeon: change rdev->ddev to rdev_to_drm(rdev) 2024-07-23 17:31:59 -04:00
radeon_kms.c drm/radeon: Do not kfree() devres managed rdev 2025-10-28 10:59:56 -04:00
radeon_kms.h drm/radeon: Convert to Linux IRQ interfaces 2021-08-10 20:13:49 +02:00
radeon_legacy_crtc.c drm/radeon: Remove unnecessary include statements for drm_crtc_helper.h 2023-01-18 09:25:31 +01:00
radeon_legacy_encoders.c drm/radeon/radeon_legacy_encoders: Remove redundant ternary operators 2025-09-05 17:38:40 -04:00
radeon_legacy_encoders.h drm/radeon/radeon_legacy_encoders: Move 'radeon_add_legacy_encoder's prototype to shared location 2020-11-16 15:56:33 -05:00
radeon_legacy_tv.c drm/radeon: Move assignment outside if condition 2023-07-27 14:47:34 -04:00
radeon_mn.c dma-buf: add DMA_RESV_USAGE_BOOKKEEP v3 2022-04-07 12:53:54 +02:00
radeon_mode.h drm/radeon: Pass along the format info from .fb_create() to drm_helper_mode_fill_fb_struct() 2025-08-06 15:26:16 +03:00
radeon_object.c drm/radeon: switch over to drm_exec v2 2024-11-20 13:59:34 +01:00
radeon_object.h drm/radeon: switch over to drm_exec v2 2024-11-20 13:59:34 +01:00
radeon_pm.c drm/radeon/pm: Remove redundant ternary operators 2025-09-05 17:38:40 -04:00
radeon_pm.h drm/radeon/radeon_pm: Move 'radeon_pm_acpi_event_handler' prototype into shared header 2020-11-16 15:56:33 -05:00
radeon_prime.c drm/gem: Acquire reservation lock in drm_gem_{pin/unpin}() 2024-03-11 13:33:50 +01:00
radeon_prime.h drm/radeon/radeon_drv: Move 'radeon_gem_prime_import_sg_table()'s prototype to shared header 2020-11-16 15:56:35 -05:00
radeon_reg.h
radeon_ring.c drm/radeon: change rdev->ddev to rdev_to_drm(rdev) 2024-07-23 17:31:59 -04:00
radeon_sa.c drm/radeon: make fence wait in suballocator uninterrruptable 2023-09-07 17:45:34 +02:00
radeon_semaphore.c drm/radeon: Use the drm suballocation manager implementation. 2023-03-01 17:18:19 +01:00
radeon_sync.c Linux 5.18-rc5 2022-05-03 16:08:48 +10:00
radeon_test.c drm/radeon: fix typos 2025-08-15 13:06:19 -04:00
radeon_trace.h drm/ttm: rework on ttm_resource to use size_t type 2022-10-27 11:42:58 +02:00
radeon_trace_points.c
radeon_ttm.c drm/radeon: Use ttm_bo_move_null() in radeon_bo_move() 2024-11-20 09:36:55 -05:00
radeon_ttm.h drm/radeon: Implement mmap as GEM object function 2021-05-26 20:56:29 +02:00
radeon_ucode.c
radeon_ucode.h
radeon_uvd.c drm/radeon/uvd: Replace nested max() with single max3() 2025-03-19 15:51:40 -04:00
radeon_vce.c drm/radeon: fix typos 2025-08-15 13:06:19 -04:00
radeon_vm.c drm/radeon: switch over to drm_exec v2 2024-11-20 13:59:34 +01:00
rs100d.h
rs400.c drm/radeon: Fix rs400_gpu_init for ATI mobility radeon Xpress 200M 2025-03-05 10:43:01 -05:00
rs400d.h
rs600.c drm/radeon: change rdev->ddev to rdev_to_drm(rdev) 2024-07-23 17:31:59 -04:00
rs600d.h
rs690.c drm/radeon: change rdev->ddev to rdev_to_drm(rdev) 2024-07-23 17:31:59 -04:00
rs690d.h
rs780_dpm.c drm/radeon: Remove references to struct drm_device.pdev 2021-01-06 15:43:46 +01:00
rs780_dpm.h
rs780d.h
rv6xx_dpm.c
rv6xx_dpm.h drm/radeon/kms: Clean up errors in rv6xx_dpm.h 2024-01-18 15:39:14 -05:00
rv6xxd.h
rv200d.h
rv250d.h
rv350d.h
rv515.c drm/radeon: change rdev->ddev to rdev_to_drm(rdev) 2024-07-23 17:31:59 -04:00
rv515d.h
rv730_dpm.c drm/radeon/rv770: Move 'rv770_get_*()'s prototypes to shared header 2020-11-16 15:56:34 -05:00
rv730d.h
rv740_dpm.c drm/radeon: fix possible division-by-zero errors 2023-06-09 10:44:47 -04:00
rv740d.h
rv770.c drm/radeon: change rdev->ddev to rdev_to_drm(rdev) 2024-07-23 17:31:59 -04:00
rv770.h drm/radeon/rv770: Move 'rv770_get_*()'s prototypes to shared header 2020-11-16 15:56:34 -05:00
rv770_dma.c
rv770_dpm.c drm/radeon/rv770: Clean up errors in rv770_dpm.c 2024-01-18 15:39:07 -05:00
rv770_dpm.h
rv770_smc.c drm/radeon: that open brace { should be on the previous line 2023-07-27 14:47:31 -04:00
rv770_smc.h drm/radeon: Clean up errors in rv770_smc.h 2024-01-18 15:39:45 -05:00
rv770d.h
si.c drm/radeon: fix spelling typos 2025-03-05 10:37:18 -05:00
si.h drm/radeon/evergreen: Move 'si_get_csb_*()'s prototypes to shared header 2020-11-16 15:56:35 -05:00
si_blit_shaders.h drm/radeon: change si_default_state table from global to static 2022-04-06 10:20:25 -04:00
si_dma.c drm/radeon/si_dma: Move 'si_gpu_check_soft_reset()'s prototype to shared header 2020-11-16 15:56:34 -05:00
si_dpm.c drm/radeon: Clean up errors in si_dpm.c 2024-01-18 15:38:38 -05:00
si_dpm.h drm/radeon: Clean up errors in si_dpm.h 2024-01-18 15:39:35 -05:00
si_reg.h
si_smc.c
sid.h drm/radeon: fix MAX_POWER_SHIFT value 2025-04-07 15:18:32 -04:00
sislands_smc.h drm/radeon/si_dpm: open brace '{' following struct go on the same line 2023-07-25 13:47:27 -04:00
smu7.h drm/radeon/kms: Clean up errors in smu7.h 2024-01-18 15:40:08 -05:00
smu7_discrete.h drm/radeon: Clean up errors in smu7_discrete.h 2024-01-18 15:39:04 -05:00
smu7_fusion.h drm/radeon/kms: Clean up errors in smu7_fusion.h 2024-01-18 15:40:06 -05:00
sumo_dpm.c drm/radeon: fix UBSAN warning in kv_dpm.c 2024-06-19 12:48:10 -04:00
sumo_dpm.h drm/radeon/sumo_dpm: Move 'sumo_get_pi()'s prototype into shared header 2020-11-13 00:12:30 -05:00
sumo_smc.c drm/radeon/sumo_dpm: Move 'sumo_get_pi()'s prototype into shared header 2020-11-13 00:12:30 -05:00
sumod.h
trinity_dpm.c drm/radeon/trinity_dpm: Clean up errors in trinity_dpm.c 2024-01-18 15:38:39 -05:00
trinity_dpm.h drm/radeon/dpm: Clean up errors in trinity_dpm.h 2024-01-18 15:39:09 -05:00
trinity_smc.c
trinityd.h
uvd_v1_0.c drm/radeon: Clean up errors in uvd_v1_0.c 2024-01-18 15:39:18 -05:00
uvd_v2_2.c drm/radeon: fix typoes in comments 2020-09-22 17:37:38 -04:00
uvd_v3_1.c
uvd_v4_2.c drm/radeon: fix typoes in comments 2020-09-22 17:37:38 -04:00
vce.h drm/radeon/cik: Move 'vce_v2_0_enable_mgcg()'s prototype to shared header 2020-11-16 15:56:35 -05:00
vce_v1_0.c drm/radeon: OLAND boards don't have VCE 2021-02-18 16:43:09 -05:00
vce_v2_0.c drm/radeon/cik: Move 'vce_v2_0_enable_mgcg()'s prototype to shared header 2020-11-16 15:56:35 -05:00