From: Harry Wentland <harry.wentland@xxxxxxx> [ Upstream commit cf8837d7204481026335461629b84ac7f4538fa5 ] Unit testing this in VKMS shows that passing 0 into this function returns -1, which is highly counter- intuitive. Fix it by checking whether the input is >= 0 instead of > 0. Fixes: 64566b5e767f ("drm: Add drm_fixp_from_fraction and drm_fixp2int_ceil") Signed-off-by: Harry Wentland <harry.wentland@xxxxxxx> Reviewed-by: Simon Ser <contact@xxxxxxxxxxx> Reviewed-by: Melissa Wen <mwen@xxxxxxxxxx> Signed-off-by: Melissa Wen <melissa.srw@xxxxxxxxx> Link: https://patchwork.freedesktop.org/patch/msgid/20231108163647.106853-2-harry.wentland@xxxxxxx Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx> --- include/drm/drm_fixed.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/drm/drm_fixed.h b/include/drm/drm_fixed.h index 03cb890690e83..6230088428cdb 100644 --- a/include/drm/drm_fixed.h +++ b/include/drm/drm_fixed.h @@ -94,7 +94,7 @@ static inline int drm_fixp2int_round(s64 a) static inline int drm_fixp2int_ceil(s64 a) { - if (a > 0) + if (a >= 0) return drm_fixp2int(a + DRM_FIXED_ALMOST_ONE); else return drm_fixp2int(a - DRM_FIXED_ALMOST_ONE); -- 2.43.0