On Tue, 2026-09-22 at 14:10 +0530, Sajal Gupta wrote:
> If the 'for_each_new_connector_in_state()' loop finishes without
> hitting the break, connector_state is left pointing at the last
> connector visited, which has no CRTC, instead of
> staying NULL.
> 
> That skips the "if (!connector_state)" fallback below the loop, which
> looks up the active connector when the state contains none. The
> function then carries on with a connector that is not driven.
> 
> Fix by resetting connector_state to NULL for each connector visited that
> has no CRTC, so that it is NULL when none was found and the fallback runs.
> 
> Fixes: 40e1a70b4aed ("drm: Add GUD USB Display driver")
> Reported-by: Sashiko <[email protected]>
> Link: 
> https://sashiko.dev/#/patchset/[email protected]?part=1
> Signed-off-by: Sajal Gupta <[email protected]>
Acked-by: Ruben Wauters <[email protected]>
> ---
>  drivers/gpu/drm/gud/gud_pipe.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/gpu/drm/gud/gud_pipe.c b/drivers/gpu/drm/gud/gud_pipe.c
> index aa7792966287..5aa5ac2f3727 100644
> --- a/drivers/gpu/drm/gud/gud_pipe.c
> +++ b/drivers/gpu/drm/gud/gud_pipe.c
> @@ -507,6 +507,7 @@ int gud_plane_atomic_check(struct drm_plane *plane,
>       for_each_new_connector_in_state(state, connector, connector_state, i) {
>               if (connector_state->crtc)
>                       break;
> +             connector_state = NULL;
>       }
> 
>       /*
> --
> 2.55.0

Attachment: signature.asc
Description: This is a digitally signed message part



Reply via email to