[PATCH] drm/amd/display: fix modprobe failure on vega series

Lee Jones lee.jones at linaro.org
Mon Mar 22 09:42:39 UTC 2021


On Mon, 22 Mar 2021, Guchun Chen wrote:

> Fixes: d88b34caee83 ("Remove some large variables from the stack")
> 
> [   41.232097] Call Trace:
> [   41.232105]  kvasprintf+0x66/0xd0
> [   41.232122]  kasprintf+0x49/0x70
> [   41.232136]  __drm_crtc_init_with_planes+0x2e1/0x340 [drm]
> [   41.232219]  ? create_object+0x263/0x3b0
> [   41.232231]  drm_crtc_init_with_planes+0x46/0x60 [drm]
> [   41.232303]  amdgpu_dm_init+0x69c/0x1750 [amdgpu]
> [   41.232998]  ? phm_wait_for_register_unequal.part.1+0x58/0x90 [amdgpu]
> [   41.233662]  ? smu9_wait_for_response+0x7d/0xa0 [amdgpu]
> [   41.234294]  ? smu9_send_msg_to_smc_with_parameter+0x77/0xd0 [amdgpu]
> [   41.234912]  ? smum_send_msg_to_smc_with_parameter+0x96/0x100 [amdgpu]
> [   41.235520]  ? psm_set_states+0x5c/0x60 [amdgpu]
> [   41.236165]  dm_hw_init+0x12/0x20 [amdgpu]
> [   41.236834]  amdgpu_device_init+0x1402/0x1df0 [amdgpu]
> [   41.237314]  amdgpu_driver_load_kms+0x65/0x320 [amdgpu]
> [   41.237780]  amdgpu_pci_probe+0x150/0x250 [amdgpu]
> [   41.238240]  local_pci_probe+0x47/0xa0
> [   41.238253]  pci_device_probe+0x10b/0x1c0
> [   41.238265]  really_probe+0xf5/0x4c0
> [   41.238275]  driver_probe_device+0xe8/0x150
> [   41.238284]  device_driver_attach+0x58/0x60
> [   41.238293]  __driver_attach+0xa3/0x140
> [   41.238301]  ? device_driver_attach+0x60/0x60
> [   41.238309]  ? device_driver_attach+0x60/0x60
> [   41.238317]  bus_for_each_dev+0x74/0xb0
> [   41.238330]  ? kmem_cache_alloc_trace+0x31a/0x470
> [   41.238341]  driver_attach+0x1e/0x20
> [   41.238348]  bus_add_driver+0x14a/0x220
> [   41.238357]  ? 0xffffffffc0f09000
> [   41.238364]  driver_register+0x60/0x100
> [   41.238373]  ? 0xffffffffc0f09000
> [   41.238379]  __pci_register_driver+0x54/0x60
> [   41.238389]  amdgpu_init+0x68/0x1000 [amdgpu]
> [   41.238836]  do_one_initcall+0x48/0x1e0
> [   41.238850]  ? kmem_cache_alloc_trace+0x31a/0x470
> [   41.238862]  do_init_module+0x5f/0x224
> [   41.238876]  load_module+0x266b/0x2ec0
> [   41.238887]  ? security_kernel_post_read_file+0x5c/0x70
> [   41.238905]  __do_sys_finit_module+0xc1/0x120
> [   41.238913]  ? __do_sys_finit_module+0xc1/0x120
> [   41.238924]  __x64_sys_finit_module+0x1a/0x20
> [   41.238932]  do_syscall_64+0x37/0x80
> [   41.238942]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
> 
> Signed-off-by: Guchun Chen <guchun.chen at amd.com>
> ---
>  drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c b/drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c
> index 556ecfabc8d2..1244fcb0f446 100644
> --- a/drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c
> +++ b/drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c
> @@ -2051,11 +2051,11 @@ void bw_calcs_init(struct bw_calcs_dceip *bw_dceip,
>  
>  	enum bw_calcs_version version = bw_calcs_version_from_asic_id(asic_id);
>  
> -	dceip = kzalloc(sizeof(dceip), GFP_KERNEL);
> +	dceip = kzalloc(sizeof(*dceip), GFP_KERNEL);
>  	if (!dceip)
>  		return;
>  
> -	vbios = kzalloc(sizeof(vbios), GFP_KERNEL);
> +	vbios = kzalloc(sizeof(*vbios), GFP_KERNEL);
>  	if (!vbios) {
>  		kfree(dceip);
>  		return;

Oh yes, of course.

Looks like it was missed in review too.

Sorry about the school boy error!

Reviewed-by: Lee Jones <lee.jones at linaro.org>

-- 
Lee Jones [李琼斯]
Senior Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog


More information about the amd-gfx mailing list