drm/i915: WARN() if we can't lookup_power_well()
authorPaulo Zanoni <paulo.r.zanoni@intel.com>
Mon, 20 Aug 2018 23:31:36 +0000 (16:31 -0700)
committerPaulo Zanoni <paulo.r.zanoni@intel.com>
Fri, 24 Aug 2018 19:30:26 +0000 (12:30 -0700)
commit99da0b35396f3907fa8594b554bf81904389c48c
treec1f807a9c8237ef86104f2b60aa637a52408edc5
parent39d1e234e1e13f65f4d53715d34aadfb6249eeaf
drm/i915: WARN() if we can't lookup_power_well()

None of the current lookup_power_well() callers are actually checking
for NULL return values, they all just use the pointer right away.  The
first idea was to replace these theoretical segfaults with a BUG()
since this would at least make our code a little more explicit to the
reader. It was suggested that just converting the BUG() to a WARN()
and returning any power well would probably be better since it would
still keep the system running while at the same time exposing the
driver bug.

We can only hit this NULL/BUG()/WARN() condition if we try to lookup a
power well that isn't defined on a given platform. If that ever
happens, we have to fix our code, making it lookup the correct power
well. Because of this, I don't think it's worth trying to implement
error checking in every caller. Improving our CI system will be a
better use of our time once a bug is found in the wild.

v2: Avoid the BUG() with a WARN() return a random PW (Michal).

Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Imre Deak <imre.deak@intel.com>
Reviewed-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180820233139.11936-2-paulo.r.zanoni@intel.com
drivers/gpu/drm/i915/intel_runtime_pm.c