[PATCH v3 1/2] drm/bridge: synopsys: dw-dp: Support unregistering the AUX channel

Andy Yan andy.yan at rock-chips.com
Sun May 31 03:27:14 PDT 2026


Hello,

On 3/27/26 08:55, Cristian Ciocaltea wrote:
> The DisplayPort AUX channel gets initialized and registered during
> dw_dp_bind(), but it is never unregistered, which may lead to resource
> leaks and/or use-after-free.
> 
> Add the missing dw_dp_unbind() function to allow the users of the
> library to handle the required cleanup, i.e. unregister the AUX adapter.
> 
> Fixes: 86eecc3a9c2e ("drm/bridge: synopsys: Add DW DPTX Controller support library")
> Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea at collabora.com>

    Reviewed-by: Andy Yan <andy.yan at rock-chips.com>

Thanks.
> ---
>   drivers/gpu/drm/bridge/synopsys/dw-dp.c | 6 ++++++
>   include/drm/bridge/dw_dp.h              | 1 +
>   2 files changed, 7 insertions(+)
> 
> diff --git a/drivers/gpu/drm/bridge/synopsys/dw-dp.c b/drivers/gpu/drm/bridge/synopsys/dw-dp.c
> index 3f4530c117c7..6211ba6ba7bd 100644
> --- a/drivers/gpu/drm/bridge/synopsys/dw-dp.c
> +++ b/drivers/gpu/drm/bridge/synopsys/dw-dp.c
> @@ -2093,6 +2093,12 @@ struct dw_dp *dw_dp_bind(struct device *dev, struct drm_encoder *encoder,
>   }
>   EXPORT_SYMBOL_GPL(dw_dp_bind);
>   
> +void dw_dp_unbind(struct dw_dp *dp)
> +{
> +	drm_dp_aux_unregister(&dp->aux);
> +}
> +EXPORT_SYMBOL_GPL(dw_dp_unbind);
> +
>   MODULE_AUTHOR("Andy Yan <andyshrk at 163.com>");
>   MODULE_DESCRIPTION("DW DP Core Library");
>   MODULE_LICENSE("GPL");
> diff --git a/include/drm/bridge/dw_dp.h b/include/drm/bridge/dw_dp.h
> index 25363541e69d..22105c3e8e4d 100644
> --- a/include/drm/bridge/dw_dp.h
> +++ b/include/drm/bridge/dw_dp.h
> @@ -24,4 +24,5 @@ struct dw_dp_plat_data {
>   
>   struct dw_dp *dw_dp_bind(struct device *dev, struct drm_encoder *encoder,
>   			 const struct dw_dp_plat_data *plat_data);
> +void dw_dp_unbind(struct dw_dp *dp);
>   #endif /* __DW_DP__ */
> 




More information about the Linux-rockchip mailing list