From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dan Carpenter Subject: re: drm/i2c: tda998x: free the CEC device on encoder_destroy Date: Fri, 20 Jun 2014 22:19:37 +0300 Message-ID: <20140620191937.GA19824@mwanda> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from userp1040.oracle.com (userp1040.oracle.com [156.151.31.81]) by gabe.freedesktop.org (Postfix) with ESMTP id C7E036E2DE for ; Fri, 20 Jun 2014 12:19:57 -0700 (PDT) Content-Disposition: inline List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: moinejf@free.fr Cc: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org Hello Jean-Francois Moine, This is a semi-automatic email about new static checker warnings. The patch fc275a74eb81: "drm/i2c: tda998x: free the CEC device on encoder_destroy" from Jan 25, 2014, leads to the following Smatch complaint: drivers/gpu/drm/i2c/tda998x_drv.c:1194 tda998x_encoder_destroy() warn: variable dereferenced before check 'priv->cec' (see line 1189) drivers/gpu/drm/i2c/tda998x_drv.c 1188 /* disable all IRQs and free the IRQ handler */ 1189 cec_write(priv, REG_CEC_RXSHPDINTENA, 0); ^^^^ We need priv->cec for this. 1190 reg_clear(priv, REG_INT_FLAGS_2, INT_FLAGS_2_EDID_BLK_RD); 1191 if (priv->hdmi->irq) 1192 free_irq(priv->hdmi->irq, priv); 1193 1194 if (priv->cec) ^^^^^^^^^ So hopefully this new check can be removed? 1195 i2c_unregister_device(priv->cec); 1196 kfree(priv); regards, dan carpenter