summaryrefslogtreecommitdiff
path: root/drivers/phy/phy-qcom-ufs-i.h
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2015-03-20 20:20:38 +0300
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2015-03-24 01:20:28 +0300
commitdf6a0d6f633d684ef62bd92038c01a1781894f85 (patch)
tree2926dba1804c14a4c2e69109cb94bbcdb1e7c964 /drivers/phy/phy-qcom-ufs-i.h
parent446d999c1c92cec996e759dc3c03110596e626f5 (diff)
downloadlinux-df6a0d6f633d684ef62bd92038c01a1781894f85.tar.xz
PM / domains: avoid potential oops in pm_genpd_remove_device()
pm_genpd_remove_device() tries hard to validate the generic PM domain passed to it, but the validation is not complete. dev->pm_domain contains a struct dev_pm_domain, which is the "base class" of generic PM domains. Other users of dev_pm_domains include stuff like vga_switheroo. Hence, a device could have a generic PM domain or a vga_switcheroo PM domain in dev->pm_domain. We need ot be certain that the PM domain is actually valid before we try to remove it. We can do this easily as we have a way to get the current validated generic PM domain for a struct device. This must match the generic PM domain being requested for removal. Convert the code to use this alternative validation method instead. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Acked-by: Kevin Hilman <khilman@linaro.org> Acked-by: Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/phy/phy-qcom-ufs-i.h')
0 files changed, 0 insertions, 0 deletions