Hi

Am 16.07.21 um 03:56 schrieb ainux.w...@gmail.com:
From: "Ainux.Wang" <ainux.w...@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.w...@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

Attachment: OpenPGP_signature
Description: OpenPGP digital signature

Reply via email to