[media] dib7000m: Remove unnecessary null test
authorHimangi Saraogi <himangi774@gmail.com>
Tue, 15 Jul 2014 21:31:17 +0000 (18:31 -0300)
committerMauro Carvalho Chehab <m.chehab@samsung.com>
Wed, 23 Jul 2014 00:42:23 +0000 (21:42 -0300)
This patch removes the null test on ch. ch is initialized at the
beginning of the function to &demod->dtv_property_cache. Since demod
is dereferenced prior to the null test, demod must be a valid pointer,
and &demod->dtv_property_cache cannot be null.

The following Coccinelle script is used for detecting the change:

@r@
expression e,f;
identifier g,y;
statement S1,S2;
@@

*e = &f->g
<+...
 f->y
 ...+>
*if (e != NULL || ...)
 S1 else S2

Signed-off-by: Himangi Saraogi <himangi774@gmail.com>
Acked-by: Julia Lawall <julia.lawall@lip6.fr>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
drivers/media/dvb-frontends/dib7000m.c

index 148bf79236fbcb858e01d98500424939b03a6f47..dcb9a15ef0c2fdebaeeb3389202ac42da0e97b2a 100644 (file)
@@ -1041,10 +1041,7 @@ static int dib7000m_tune(struct dvb_frontend *demod)
        u16 value;
 
        // we are already tuned - just resuming from suspend
-       if (ch != NULL)
-               dib7000m_set_channel(state, ch, 0);
-       else
-               return -EINVAL;
+       dib7000m_set_channel(state, ch, 0);
 
        // restart demod
        ret |= dib7000m_write_word(state, 898, 0x4000);