[PATCH RFC] drm/i2c: tda998x: dead-code or unhandled error condition ?

Nicholas Mc Guire hofrat at osadl.org
Wed Jun 10 05:58:48 PDT 2015

event API conformance testing with coccinelle spatches are being
used to locate API usage inconsistencies this triggert with:
        incorrect check for negative return

The return of wait_event_timeout is always >= 0, thus the negative 
check was effectively being ignoring - as the timeout will be checked
a few lines below the error condition being checked here seems to be
wrong or this is simply dead code which would be my guess as the
timeout condition check covers the wait-queue related failure condition.

Signed-off-by: Nicholas Mc Guire <hofrat at osadl.org>

Can't really determine what the right fix for this would be - someone
that knows this driver would need to check - in any case the current
code seems broken.

Patch was compile tested with  x86_64_defconfig + CONFIG_DRM_I2C_SIL164=m

Patch is against 4.1-rc7 (localversion-next is -next-20150610)

 drivers/gpu/drm/i2c/tda998x_drv.c |    4 ----
 1 file changed, 4 deletions(-)

diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c b/drivers/gpu/drm/i2c/tda998x_drv.c
index fe1599d..d489a6e 100644
--- a/drivers/gpu/drm/i2c/tda998x_drv.c
+++ b/drivers/gpu/drm/i2c/tda998x_drv.c
@@ -1065,10 +1065,6 @@ static int read_edid_block(void *data, u8 *buf, unsigned int blk, size_t length)
 		i = wait_event_timeout(priv->wq_edid,
-		if (i < 0) {
-			dev_err(&priv->hdmi->dev, "read edid wait err %d\n", i);
-			return i;
-		}
 	} else {
 		for (i = 100; i > 0; i--) {

More information about the dri-devel mailing list