Re: [PATCH v4] drm/tilcdc: Fix removal actions in case of failed probe
From: Doug Anderson
Date: Mon Dec 01 2025 - 13:10:27 EST
Hi,
On Tue, Nov 25, 2025 at 1:06 AM Kory Maincent <kory.maincent@xxxxxxxxxxx> wrote:
>
> From: "Kory Maincent (TI.com)" <kory.maincent@xxxxxxxxxxx>
>
> The drm_kms_helper_poll_fini() and drm_atomic_helper_shutdown() helpers
> should only be called when the device has been successfully registered.
> Currently, these functions are called unconditionally in tilcdc_fini(),
> which causes warnings during probe deferral scenarios.
>
> [ 7.972317] WARNING: CPU: 0 PID: 23 at drivers/gpu/drm/drm_atomic_state_helper.c:175 drm_atomic_helper_crtc_duplicate_state+0x60/0x68
> ...
> [ 8.005820] drm_atomic_helper_crtc_duplicate_state from drm_atomic_get_crtc_state+0x68/0x108
> [ 8.005858] drm_atomic_get_crtc_state from drm_atomic_helper_disable_all+0x90/0x1c8
> [ 8.005885] drm_atomic_helper_disable_all from drm_atomic_helper_shutdown+0x90/0x144
> [ 8.005911] drm_atomic_helper_shutdown from tilcdc_fini+0x68/0xf8 [tilcdc]
> [ 8.005957] tilcdc_fini [tilcdc] from tilcdc_pdev_probe+0xb0/0x6d4 [tilcdc]
>
> Fix this by rewriting the failed probe cleanup path using the standard
> goto error handling pattern, which ensures that cleanup functions are
> only called on successfully initialized resources. Additionally, remove
> the now-unnecessary is_registered flag.
>
> Cc: stable@xxxxxxxxxxxxxxx
> Fixes: 3c4babae3c4a ("drm: Call drm_atomic_helper_shutdown() at shutdown/remove time for misc drivers")
> Signed-off-by: Kory Maincent (TI.com) <kory.maincent@xxxxxxxxxxx>
> ---
>
> I'm working on removing the usage of deprecated functions as well as
> general improvements to this driver, but it will take some time so for
> now this is a simple fix to a functional bug.
>
> Change in v4:
> - Fix an unused label warning reported by the kernel test robot.
>
> Change in v3:
> - Rewrite the failed probe clean up path using goto
> - Remove the is_registered flag
>
> Change in v2:
> - Add missing cc: stable tag
> - Add Swamil reviewed-by
> ---
> drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 2 +-
> drivers/gpu/drm/tilcdc/tilcdc_drv.c | 53 ++++++++++++++++++----------
> drivers/gpu/drm/tilcdc/tilcdc_drv.h | 2 +-
> 3 files changed, 37 insertions(+), 20 deletions(-)
Seems reasonable to me. I did a once-over and based on code inspection
it looks like things are being reversed properly. I agree this should
probably land to fix the regression while waiting for a bigger
cleanup.
Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx>
This fixup has been sitting out there for a while. Who is the right
person to apply it? If nobody else does and there are no objections, I
can apply it to "fixes" next week...
-Doug