linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [pm:pm-sleep-core 2/2] drivers/base/power/main.c:664 device_resume_noirq() error: uninitialized symbol 'info'.
@ 2020-04-06 11:21 Dan Carpenter
  0 siblings, 0 replies; only message in thread
From: Dan Carpenter @ 2020-04-06 11:21 UTC (permalink / raw)
  To: kbuild, Rafael J. Wysocki; +Cc: lkp, kbuild-all, linux-acpi, devel, linux-pm

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git pm-sleep-core
head:   547556fab555120662914c71c1fe8ea0643e1871
commit: 547556fab555120662914c71c1fe8ea0643e1871 [2/2] PM: sleep: core: Fold functions into their callers
:::::: branch date: 2 hours ago
:::::: commit date: 2 hours ago

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

smatch warnings:
drivers/base/power/main.c:664 device_resume_noirq() error: uninitialized symbol 'info'.
drivers/base/power/main.c:1267 __device_suspend_noirq() error: uninitialized symbol 'info'.
drivers/base/power/main.c:1468 __device_suspend_late() error: uninitialized symbol 'info'.

# https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git/commit/?id=547556fab555120662914c71c1fe8ea0643e1871
git remote add pm https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git
git remote update pm
git checkout 547556fab555120662914c71c1fe8ea0643e1871
vim +/info +664 drivers/base/power/main.c

76569faa62c4638 Liu, Chuansheng   2014-02-18  603  static int device_resume_noirq(struct device *dev, pm_message_t state, bool async)
775b64d2b6ca376 Rafael J. Wysocki 2008-01-12  604  {
547556fab555120 Rafael J. Wysocki 2020-04-04  605  	pm_callback_t callback = NULL;
4fa3061a6856cc7 Rafael J. Wysocki 2017-12-10  606  	const char *info;
32bfa56ac158c1e Rafael J. Wysocki 2017-12-10  607  	bool skip_resume;
775b64d2b6ca376 Rafael J. Wysocki 2008-01-12  608  	int error = 0;
775b64d2b6ca376 Rafael J. Wysocki 2008-01-12  609  
775b64d2b6ca376 Rafael J. Wysocki 2008-01-12  610  	TRACE_DEVICE(dev);
775b64d2b6ca376 Rafael J. Wysocki 2008-01-12  611  	TRACE_RESUME(0);
775b64d2b6ca376 Rafael J. Wysocki 2008-01-12  612  
aae4518b3124b29 Rafael J. Wysocki 2014-05-16  613  	if (dev->power.syscore || dev->power.direct_complete)
dbf374142dd7a3c Rafael J. Wysocki 2012-08-06  614  		goto Out;
dbf374142dd7a3c Rafael J. Wysocki 2012-08-06  615  
3d2699bc179a10e Liu, Chuansheng   2014-02-18  616  	if (!dev->power.is_noirq_suspended)
3d2699bc179a10e Liu, Chuansheng   2014-02-18  617  		goto Out;
3d2699bc179a10e Liu, Chuansheng   2014-02-18  618  
0552e05fdfea191 Rafael J. Wysocki 2020-01-23  619  	if (!dpm_wait_for_superior(dev, async))
0552e05fdfea191 Rafael J. Wysocki 2020-01-23  620  		goto Out;
76569faa62c4638 Liu, Chuansheng   2014-02-18  621  
547556fab555120 Rafael J. Wysocki 2020-04-04  622  	if (dev->pm_domain) {
547556fab555120 Rafael J. Wysocki 2020-04-04  623  		info = "noirq power domain ";
547556fab555120 Rafael J. Wysocki 2020-04-04  624  		callback = pm_noirq_op(&dev->pm_domain->ops, state);
547556fab555120 Rafael J. Wysocki 2020-04-04  625  	} else if (dev->type && dev->type->pm) {
547556fab555120 Rafael J. Wysocki 2020-04-04  626  		info = "noirq type ";
547556fab555120 Rafael J. Wysocki 2020-04-04  627  		callback = pm_noirq_op(dev->type->pm, state);
547556fab555120 Rafael J. Wysocki 2020-04-04  628  	} else if (dev->class && dev->class->pm) {
547556fab555120 Rafael J. Wysocki 2020-04-04  629  		info = "noirq class ";
547556fab555120 Rafael J. Wysocki 2020-04-04  630  		callback = pm_noirq_op(dev->class->pm, state);
547556fab555120 Rafael J. Wysocki 2020-04-04  631  	} else if (dev->bus && dev->bus->pm) {
547556fab555120 Rafael J. Wysocki 2020-04-04  632  		info = "noirq bus ";
547556fab555120 Rafael J. Wysocki 2020-04-04  633  		callback = pm_noirq_op(dev->bus->pm, state);
547556fab555120 Rafael J. Wysocki 2020-04-04  634  	}

Assume none of these conditions are true

ff2d75f7550e29e Rafael J. Wysocki 2020-04-04  635  	if (callback) {
ff2d75f7550e29e Rafael J. Wysocki 2020-04-04  636  		skip_resume = false;
75e94645fc3b100 Rafael J. Wysocki 2017-12-10  637  		goto Run;
ff2d75f7550e29e Rafael J. Wysocki 2020-04-04  638  	}
33c3374031facf7 Rafael J. Wysocki 2009-12-13  639  
ff2d75f7550e29e Rafael J. Wysocki 2020-04-04  640  	skip_resume = dev_pm_may_skip_resume(dev);
32bfa56ac158c1e Rafael J. Wysocki 2017-12-10  641  	if (skip_resume)
32bfa56ac158c1e Rafael J. Wysocki 2017-12-10  642  		goto Skip;
32bfa56ac158c1e Rafael J. Wysocki 2017-12-10  643  
75e94645fc3b100 Rafael J. Wysocki 2017-12-10  644  	/*
ff2d75f7550e29e Rafael J. Wysocki 2020-04-04  645  	 * If "freeze" driver callbacks have been skipped during hibernation,
ff2d75f7550e29e Rafael J. Wysocki 2020-04-04  646  	 * because the device was runtime-suspended in __device_suspend_late(),
ff2d75f7550e29e Rafael J. Wysocki 2020-04-04  647  	 * the corresponding "thaw" callbacks must be skipped too, because
ff2d75f7550e29e Rafael J. Wysocki 2020-04-04  648  	 * running them for a runtime-suspended device may not be valid.
75e94645fc3b100 Rafael J. Wysocki 2017-12-10  649  	 */
ff2d75f7550e29e Rafael J. Wysocki 2020-04-04  650  	if (dev_pm_smart_suspend_and_suspended(dev) &&
ff2d75f7550e29e Rafael J. Wysocki 2020-04-04  651  	    state.event == PM_EVENT_THAW) {
32bfa56ac158c1e Rafael J. Wysocki 2017-12-10  652  		skip_resume = true;
75e94645fc3b100 Rafael J. Wysocki 2017-12-10  653  		goto Skip;
75e94645fc3b100 Rafael J. Wysocki 2017-12-10  654  	}
75e94645fc3b100 Rafael J. Wysocki 2017-12-10  655  
75e94645fc3b100 Rafael J. Wysocki 2017-12-10  656  	if (dev->driver && dev->driver->pm) {
cf579dfb82550e3 Rafael J. Wysocki 2012-01-29  657  		info = "noirq driver ";
35cd133c6130c1e Rafael J. Wysocki 2011-12-18  658  		callback = pm_noirq_op(dev->driver->pm, state);
35cd133c6130c1e Rafael J. Wysocki 2011-12-18  659  	}

And these aren't true

35cd133c6130c1e Rafael J. Wysocki 2011-12-18  660  
ff2d75f7550e29e Rafael J. Wysocki 2020-04-04  661  	pm_runtime_set_active(dev);
ff2d75f7550e29e Rafael J. Wysocki 2020-04-04  662  
75e94645fc3b100 Rafael J. Wysocki 2017-12-10  663  Run:
9cf519d1c15fa05 Rafael J. Wysocki 2011-12-18 @664  	error = dpm_run_callback(callback, dev, state, info);
                                                                                                       ^^^^

75e94645fc3b100 Rafael J. Wysocki 2017-12-10  665  
75e94645fc3b100 Rafael J. Wysocki 2017-12-10  666  Skip:
3d2699bc179a10e Liu, Chuansheng   2014-02-18  667  	dev->power.is_noirq_suspended = false;
9cf519d1c15fa05 Rafael J. Wysocki 2011-12-18  668  
32bfa56ac158c1e Rafael J. Wysocki 2017-12-10  669  	if (skip_resume) {
02bd45a28bf3299 Rafael J. Wysocki 2019-07-04  670  		/* Make the next phases of resume skip the device. */
02bd45a28bf3299 Rafael J. Wysocki 2019-07-04  671  		dev->power.is_late_suspended = false;
02bd45a28bf3299 Rafael J. Wysocki 2019-07-04  672  		dev->power.is_suspended = false;
0d4b54c6fee87ff Rafael J. Wysocki 2017-11-18  673  		/*
0d4b54c6fee87ff Rafael J. Wysocki 2017-11-18  674  		 * The device is going to be left in suspend, but it might not
0d4b54c6fee87ff Rafael J. Wysocki 2017-11-18  675  		 * have been in runtime suspend before the system suspended, so
0d4b54c6fee87ff Rafael J. Wysocki 2017-11-18  676  		 * its runtime PM status needs to be updated to avoid confusing
0d4b54c6fee87ff Rafael J. Wysocki 2017-11-18  677  		 * the runtime PM framework when runtime PM is enabled for the
0d4b54c6fee87ff Rafael J. Wysocki 2017-11-18  678  		 * device again.
0d4b54c6fee87ff Rafael J. Wysocki 2017-11-18  679  		 */
0d4b54c6fee87ff Rafael J. Wysocki 2017-11-18  680  		pm_runtime_set_suspended(dev);
0d4b54c6fee87ff Rafael J. Wysocki 2017-11-18  681  	}
0d4b54c6fee87ff Rafael J. Wysocki 2017-11-18  682  
dbf374142dd7a3c Rafael J. Wysocki 2012-08-06  683  Out:
76569faa62c4638 Liu, Chuansheng   2014-02-18  684  	complete_all(&dev->power.completion);
775b64d2b6ca376 Rafael J. Wysocki 2008-01-12  685  	TRACE_RESUME(error);
775b64d2b6ca376 Rafael J. Wysocki 2008-01-12  686  	return error;
775b64d2b6ca376 Rafael J. Wysocki 2008-01-12  687  }

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-04-06 11:22 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-06 11:21 [pm:pm-sleep-core 2/2] drivers/base/power/main.c:664 device_resume_noirq() error: uninitialized symbol 'info' Dan Carpenter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).