-
由 Rafael J. Wysocki 提交于
There is a WARN_ON() in dev_pm_domain_set() that triggers on attempts to set the pm_domain pointer for devices with a driver bound. However, that WARN_ON() triggers on attempts to clear the pointer too and the test it uses is based on checking the device's p->knode_driver pointer which still is set when the device bus type's/driver's ->remove callback has been executed. This leads to false-positive warnings when bus type code calls dev_pm_domain_set() to clear the pm_domain pointer after invoking the driver's ->remove() callback. To avoid those false-positives, make dev_pm_domain_set() check if the pointer passed to it is NULL and skip the warning in that case. Fixes: 989561de (PM / Domains: add setter for dev.pm_domain) Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com> Tested-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com> Tested-by: NSinan Kaya <okaya@codeaurora.org> Tested-by: NSteven Rostedt <rostedt@goodmis.org> Acked-by: NUlf Hansson <ulf.hansson@linaro.org>
e79aee49