From julia@diku.dk Fri Sep 11 14:22:51 2009 From: Julia Lawall Date: Mon, 31 Aug 2009 21:34:25 +0200 (CEST) Subject: Staging: rtl8192e: Drop unnecessary NULL test To: Greg Kroah-Hartman , devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org Message-ID: From: Julia Lawall The result of container_of should not be NULL. In particular, in this case the argument to the enclosing function has passed though INIT_WORK, which dereferences it, implying that its container cannot be NULL. A simplified version of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ identifier fn,work,x,fld; type T; expression E1,E2; statement S; @@ static fn(struct work_struct *work) { ... when != work = E1 x = container_of(work,T,fld) ... when != x = E2 - if (x == NULL) S ... } // Signed-off-by: Julia Lawall Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/r8192E_core.c | 2 -- 1 file changed, 2 deletions(-) --- a/drivers/staging/rtl8192e/r8192E_core.c +++ b/drivers/staging/rtl8192e/r8192E_core.c @@ -1763,8 +1763,6 @@ static void rtl8192_qos_activate(struct u8 u1bAIFS; u32 u4bAcParam; int i; - if (priv == NULL) - return; mutex_lock(&priv->mutex); if(priv->ieee80211->state != IEEE80211_LINKED)