Commit db8b5886cf08a4890e920b1fae8cbf21608cfbcc

Authored by Andy Shevchenko
Committed by Greg Kroah-Hartman
1 parent 58557add70

x86: pmc-atom: Assign debugfs node as soon as possible

commit 1b43d7125f3b6f7d46e72da64f65f3187a83b66b upstream.

pmc_dbgfs_unregister() will be called when pmc->dbgfs_dir is unconditionally
NULL on error path in pmc_dbgfs_register(). To prevent this we move the
assignment to where is should be.

Fixes: f855911c1f48 (x86/pmc_atom: Expose PMC device state and platform sleep state)
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Aubrey Li <aubrey.li@linux.intel.com>
Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Cc: Kumar P. Mahesh <mahesh.kumar.p@intel.com>
Link: http://lkml.kernel.org/r/1421253575-22509-2-git-send-email-andriy.shevchenko@linux.intel.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Showing 1 changed file with 3 additions and 1 deletions Side-by-side Diff

arch/x86/kernel/pmc_atom.c
... ... @@ -217,6 +217,8 @@
217 217 if (!dir)
218 218 return -ENOMEM;
219 219  
  220 + pmc->dbgfs_dir = dir;
  221 +
220 222 f = debugfs_create_file("dev_state", S_IFREG | S_IRUGO,
221 223 dir, pmc, &pmc_dev_state_ops);
222 224 if (!f) {
... ... @@ -229,7 +231,7 @@
229 231 dev_err(&pdev->dev, "sleep_state register failed\n");
230 232 goto err;
231 233 }
232   - pmc->dbgfs_dir = dir;
  234 +
233 235 return 0;
234 236 err:
235 237 pmc_dbgfs_unregister(pmc);