On Wed, Feb 22, 2017 at 10:25:44AM +0800, Weinan Li wrote: > skl_pcode_try_request() call sandybridge_pcode_read(), check both return > status and value simultanously, ensure it got correct value without error. > > Signed-off-by: Weinan Li <weinan.z.li@xxxxxxxxx> > --- > drivers/gpu/drm/i915/intel_pm.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c > index ae2c0bb..e7b12ec 100644 > --- a/drivers/gpu/drm/i915/intel_pm.c > +++ b/drivers/gpu/drm/i915/intel_pm.c > @@ -7882,7 +7882,7 @@ static bool skl_pcode_try_request(struct drm_i915_private *dev_priv, u32 mbox, > > *status = sandybridge_pcode_read(dev_priv, mbox, &val); > > - return *status || ((val & reply_mask) == reply); > + return (!*status) && ((val & reply_mask) == reply); > } The original looks ok to me. The condition becomes true if PCODE reports an error in *status or we get the expected reply. *status is then rechecked in skl_pcode_request(). --Imre > > /** > -- > 1.9.1 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/intel-gfx _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx