aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Senna Tschudin <peter.senna@gmail.com>2012-09-12 11:06:44 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-09-12 12:43:45 -0400
commit47ad3428a1086af425447f763705e06b16ae905d (patch)
treebc847275e88652f3dc9f3269b5b4ecdbe7d78149
parent2e464f00687931eeeab95c90e3796609d0c8ce4c (diff)
drivers/staging/gdm72xx/gdm_sdio.c: Remove 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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/staging/gdm72xx/gdm_sdio.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/drivers/staging/gdm72xx/gdm_sdio.c b/drivers/staging/gdm72xx/gdm_sdio.c
index f8242902ada6..a0621d9c2198 100644
--- a/drivers/staging/gdm72xx/gdm_sdio.c
+++ b/drivers/staging/gdm72xx/gdm_sdio.c
@@ -94,17 +94,14 @@ static struct sdio_rx *alloc_rx_struct(struct rx_cxt *rx)
94 struct sdio_rx *r = NULL; 94 struct sdio_rx *r = NULL;
95 95
96 r = kmalloc(sizeof(*r), GFP_ATOMIC); 96 r = kmalloc(sizeof(*r), GFP_ATOMIC);
97 if (r == NULL) 97 if (!r)
98 goto out; 98 return NULL;
99 99
100 memset(r, 0, sizeof(*r)); 100 memset(r, 0, sizeof(*r));
101 101
102 r->rx_cxt = rx; 102 r->rx_cxt = rx;
103 103
104 return r; 104 return r;
105out:
106 kfree(r);
107 return NULL;
108} 105}
109 106
110static void free_rx_struct(struct sdio_rx *r) 107static void free_rx_struct(struct sdio_rx *r)