Re: [PATCH v3 05/14] drm/msm: clean up after a failed msm_kms_init()
From: Konrad Dybcio
Date: Mon Oct 26 2026 - 05:36:36 EST
On 10/24/26 1:19 AM, Dmitry Baryshkov wrote:
> msm_kms_init() returns early when it fails to allocate its workqueue or
> to create one of the pending timer workers, leaving behind whatever it
> has already set up. The kms drivers' ->destroy() callbacks still run in
> that case and reach msm_kms_destroy(), which passes a workqueue that was
> never allocated straight to destroy_workqueue().
>
> Tear down the timers and the workqueue created so far when
> msm_kms_init() fails. Until every kms driver has stopped relying on
> ->destroy() to clean up a failed init, let msm_kms_destroy() skip what
> has already been destroyed.
>
> Fixes: a409b78fcdf7 ("drm/msm: move wq handling to KMS code")
> Assisted-by: LLM
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxxxxxxxx>
Konrad