greybus: svc: free pwrmon_rails memory upon exit
authorDavid Lin <dtwlin@google.com>
Sat, 23 Apr 2016 02:03:43 +0000 (19:03 -0700)
committerGreg Kroah-Hartman <gregkh@google.com>
Mon, 25 Apr 2016 18:13:59 +0000 (11:13 -0700)
For every time SVC instance is created, memories for storing the rail IDs
are allocated, however, they are not freed when the SVC is destroyed.
This patch fixes the memory leak by freeing the memory when debugfs for
SVC is no longer needed.

Testing Done:
- Check pwrmon debugfs after turning on and off SVC

Signed-off-by: David Lin <dtwlin@google.com>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
drivers/staging/greybus/svc.c

index b30b2277fa868ffaecec15472b6669680a298cfb..78fe4dc37131560c781d8848d3cda029e939abbe 100644 (file)
@@ -650,6 +650,8 @@ static void gb_svc_debugfs_init(struct gb_svc *svc)
 static void gb_svc_debugfs_exit(struct gb_svc *svc)
 {
        debugfs_remove_recursive(svc->debugfs_dentry);
+       kfree(svc->pwrmon_rails);
+       svc->pwrmon_rails = NULL;
 }
 
 static int gb_svc_hello(struct gb_operation *op)