[PATCH] drm/ast: Zero is missing in detect function

Thomas Zimmermann tzimmermann at suse.de
Fri Jul 16 06:29:47 UTC 2021


Hi

Am 16.07.21 um 03:56 schrieb ainux.wang at gmail.com:
> From: "Ainux.Wang" <ainux.wang at gmail.com>
> 
> The function ast_get_modes() will also return 0, when it try to get the
> edid, but it also do not get the edid.
> 
> Signed-off-by: Ainux.Wang <ainux.wang at gmail.com>
> ---
>   drivers/gpu/drm/ast/ast_mode.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/ast/ast_mode.c b/drivers/gpu/drm/ast/ast_mode.c
> index e5996ae03c49..b7dcf7821ec6 100644
> --- a/drivers/gpu/drm/ast/ast_mode.c
> +++ b/drivers/gpu/drm/ast/ast_mode.c
> @@ -1299,7 +1299,7 @@ static enum drm_connector_status ast_connector_detect(struct drm_connector
>   	int r;
>   
>   	r = ast_get_modes(connector);
> -	if (r < 0)
> +	if (r <= 0)
>   		return connector_status_disconnected;

Thanks for caring.

I thought about the case of (r == 0) when reviewing the patch that added 
it, but found it to be correct. If (r < 0) it's clearly an error and we 
should return 'disconnected'. If (r == 0), we were able to retrieve the 
EDID, but could not find any meaningful modes. Still, it's 'connected'.

Unless there is a concrete bug where the status is mis-detected, I think 
that the current code is correct.

Best regards
Thomas

>   
>   	return connector_status_connected;
> 

-- 
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Felix Imendörffer

-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 840 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20210716/7bb2fbc5/attachment-0001.sig>


More information about the dri-devel mailing list