diff options
author | Peter Senna Tschudin <peter.senna@gmail.com> | 2012-09-12 07:56:00 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-10-06 10:13:49 -0400 |
commit | e4533e65b3a4194c859e79d8cf9659f1cf1705aa (patch) | |
tree | 7de0dde4f53d6ae221e9a8070fb32239df3bfef5 /drivers/media | |
parent | 4a0543ee8d17515420d9133c0e733298d1658523 (diff) |
[media] drivers/media/dvb-frontends/stb6100.c: Removes useless kfree()
Remove useless kfree() and clean up code related to the removal.
The semantic patch that finds this problem is as follows:
(http://coccinelle.lip6.fr/)
// <smpl>
@r exists@
position p1,p2;
expression x;
@@
if (x@p1 == NULL) { ... kfree@p2(x); ... return ...; }
@unchanged exists@
position r.p1,r.p2;
expression e <= r.x,x,e1;
iterator I;
statement S;
@@
if (x@p1 == NULL) { ... when != I(x,...) S
when != e = e1
when != e += e1
when != e -= e1
when != ++e
when != --e
when != e++
when != e--
when != &e
kfree@p2(x); ... return ...; }
@ok depends on unchanged exists@
position any r.p1;
position r.p2;
expression x;
@@
... when != true x@p1 == NULL
kfree@p2(x);
@depends on !ok && unchanged@
position r.p2;
expression x;
@@
*kfree@p2(x);
// </smpl>
Signed-off-by: Peter Senna Tschudin <peter.senna@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media')
-rw-r--r-- | drivers/media/dvb-frontends/stb6100.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/drivers/media/dvb-frontends/stb6100.c b/drivers/media/dvb-frontends/stb6100.c index 2e93e65d2cdb..45f9523f968f 100644 --- a/drivers/media/dvb-frontends/stb6100.c +++ b/drivers/media/dvb-frontends/stb6100.c | |||
@@ -575,8 +575,8 @@ struct dvb_frontend *stb6100_attach(struct dvb_frontend *fe, | |||
575 | struct stb6100_state *state = NULL; | 575 | struct stb6100_state *state = NULL; |
576 | 576 | ||
577 | state = kzalloc(sizeof (struct stb6100_state), GFP_KERNEL); | 577 | state = kzalloc(sizeof (struct stb6100_state), GFP_KERNEL); |
578 | if (state == NULL) | 578 | if (!state) |
579 | goto error; | 579 | return NULL; |
580 | 580 | ||
581 | state->config = config; | 581 | state->config = config; |
582 | state->i2c = i2c; | 582 | state->i2c = i2c; |
@@ -587,10 +587,6 @@ struct dvb_frontend *stb6100_attach(struct dvb_frontend *fe, | |||
587 | 587 | ||
588 | printk("%s: Attaching STB6100 \n", __func__); | 588 | printk("%s: Attaching STB6100 \n", __func__); |
589 | return fe; | 589 | return fe; |
590 | |||
591 | error: | ||
592 | kfree(state); | ||
593 | return NULL; | ||
594 | } | 590 | } |
595 | 591 | ||
596 | static int stb6100_release(struct dvb_frontend *fe) | 592 | static int stb6100_release(struct dvb_frontend *fe) |