On 10/24/26 1:19 AM, Dmitry Baryshkov wrote:
> When dpu_kms_hw_init() fails it calls _dpu_kms_hw_destroy(), the teardown
> of a fully initialised KMS, whatever step it failed at.
> 
> Undo only the steps which have completed, in the reverse order, as the
> kernel convention wants.
> 
> The hw_mdp, hw_vbif and hw_intr blocks are allocated with drmm and go
> away with the DRM device, while dpu_kms stays around for the next bind
> attempt, so clear the pointers to them as _dpu_kms_hw_destroy() did.
> Otherwise dpu_runtime_resume() of the next bind attempt passes the stale
> hw_vbif to dpu_vbif_init_memtypes() before dpu_kms_hw_init() sets it.
> 
> Assisted-by: LLM
> Signed-off-by: Dmitry Baryshkov <[email protected]>
> ---

LLM is slightly curious about not clearing dpu_kms->catalog but
I think it's fine

Acked-by: Konrad Dybcio <[email protected]>

Konrad

Reply via email to