On Fri, Apr 05, 2024 at 08:15:47PM -0700, Abhinav Kumar wrote:
> From: Kuogee Hsieh <quic_khs...@quicinc.com>
[..]
> diff --git a/drivers/gpu/drm/msm/dp/dp_display.c 
> b/drivers/gpu/drm/msm/dp/dp_display.c
> index d80f89581760..bfb6dfff27e8 100644
> --- a/drivers/gpu/drm/msm/dp/dp_display.c
> +++ b/drivers/gpu/drm/msm/dp/dp_display.c
> @@ -1665,7 +1665,7 @@ void dp_bridge_hpd_notify(struct drm_bridge *bridge,
>               return;
>  
>       if (!dp_display->link_ready && status == connector_status_connected)
> -             dp_add_event(dp, EV_HPD_PLUG_INT, 0, 0);
> +             dp_hpd_plug_handle(dp, 0);

If I read the code correctly, and we get an external connect event
inbetween a previous disconnect and the related disable call, this
should result in a PLUG_INT being injected into the queue still.

Will that not cause the same problem?

Regards,
Bjorn

>       else if (dp_display->link_ready && status == 
> connector_status_disconnected)
> -             dp_add_event(dp, EV_HPD_UNPLUG_INT, 0, 0);
> +             dp_hpd_unplug_handle(dp, 0);
>  }
> -- 
> 2.43.2
> 

Reply via email to