> -----Original Message----- > From: Andrew Shadura [mailto:andrew.shadura@xxxxxxxxxxxxxxx] > Sent: Thursday, November 03, 2016 6:09 AM > To: linux-kernel@xxxxxxxxxxxxxxx; dri-devel@xxxxxxxxxxxxxxxxxxxxx; Deucher, > Alexander; Koenig, Christian; David Airlie > Cc: Zhu, Rex; Jammy Zhou > Subject: [PATCH] drm/amd/powerplay: return false instead of -EINVAL > > Returning -EINVAL from a bool-returning function > phm_check_smc_update_required_for_display_configuration has an > unexpected > effect of returning true, which is probably not what was intended. > Replace -EINVAL by false. > > The only place this function is called from is > psm_adjust_power_state_dynamic in > drivers/gpu/drm/amd/powerplay/eventmgr/psm.c:106: > > if (!equal || > phm_check_smc_update_required_for_display_configuration(hwmgr)) { > phm_apply_state_adjust_rules(hwmgr, requested, > pcurrent); > phm_set_power_state(hwmgr, &pcurrent->hardware, > &requested->hardware); > hwmgr->current_ps = requested; > } > > It seems to expect a boolean value here. > > This issue has been found using the following Coccinelle semantic patch > written by Peter Senna Tschudin: > <smpl> > @@ > identifier f; > constant C; > typedef bool; > @@ > bool f (...){ > <+... > * return -C; > ...+> > } > </smpl> > > Signed-off-by: Andrew Shadura <andrew.shadura@xxxxxxxxxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> I'll pick this up shortly. Thanks! Alex > --- > drivers/gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c > b/drivers/gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c > index 789f98a..82038b08 100644 > --- a/drivers/gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c > +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c > @@ -306,7 +306,7 @@ bool > phm_check_smc_update_required_for_display_configuration(struct > pp_hwmgr *hw > PHM_FUNC_CHECK(hwmgr); > > if (hwmgr->hwmgr_func- > >check_smc_update_required_for_display_configuration == NULL) > - return -EINVAL; > + return false; > > return hwmgr->hwmgr_func- > >check_smc_update_required_for_display_configuration(hwmgr); > } > -- > 2.7.4 > _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel