aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char/mmtimer.c
diff options
context:
space:
mode:
authorPeter Senna Tschudin <peter.senna@gmail.com>2012-09-12 11:06:45 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-09-26 16:20:40 -0400
commit08b79dd10bb24f5fb12446d21d32c87a8136c770 (patch)
tree831faf9cd5d7f9dade77075ce99cd682395b8be5 /drivers/char/mmtimer.c
parentf8885c26d59e683185002271108e8acb812fcd07 (diff)
drivers/char/mmtimer.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>
Diffstat (limited to 'drivers/char/mmtimer.c')
-rw-r--r--drivers/char/mmtimer.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/char/mmtimer.c b/drivers/char/mmtimer.c
index 33dc2298af73..3d6c0671e996 100644
--- a/drivers/char/mmtimer.c
+++ b/drivers/char/mmtimer.c
@@ -826,7 +826,7 @@ static int __init mmtimer_init(void)
826 826
827 /* Allocate list of node ptrs to mmtimer_t's */ 827 /* Allocate list of node ptrs to mmtimer_t's */
828 timers = kzalloc(sizeof(struct mmtimer_node)*maxn, GFP_KERNEL); 828 timers = kzalloc(sizeof(struct mmtimer_node)*maxn, GFP_KERNEL);
829 if (timers == NULL) { 829 if (!timers) {
830 printk(KERN_ERR "%s: failed to allocate memory for device\n", 830 printk(KERN_ERR "%s: failed to allocate memory for device\n",
831 MMTIMER_NAME); 831 MMTIMER_NAME);
832 goto out3; 832 goto out3;
@@ -848,7 +848,6 @@ static int __init mmtimer_init(void)
848 return 0; 848 return 0;
849 849
850out3: 850out3:
851 kfree(timers);
852 misc_deregister(&mmtimer_miscdev); 851 misc_deregister(&mmtimer_miscdev);
853out2: 852out2:
854 free_irq(SGI_MMTIMER_VECTOR, NULL); 853 free_irq(SGI_MMTIMER_VECTOR, NULL);