PCI / PM: check all fields in pci_set_platform_pm()

When assign new PCI platform PM operations check for all mandatory fields to
prevent NULL pointer dereference.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
Andy Shevchenko 2016-06-06 17:25:33 +03:00 committed by Rafael J. Wysocki
parent 92d21ac74a
commit 6ec39cf5cd

View file

@ -530,8 +530,8 @@ static const struct pci_platform_pm_ops *pci_platform_pm;
int pci_set_platform_pm(const struct pci_platform_pm_ops *ops) int pci_set_platform_pm(const struct pci_platform_pm_ops *ops)
{ {
if (!ops->is_manageable || !ops->set_state || !ops->choose_state if (!ops->is_manageable || !ops->set_state || !ops->choose_state ||
|| !ops->sleep_wake) !ops->sleep_wake || !ops->run_wake || !ops->need_resume)
return -EINVAL; return -EINVAL;
pci_platform_pm = ops; pci_platform_pm = ops;
return 0; return 0;