• Dan Carpenter's avatar
    drm/radeon: signedness bug in kv_dpm.c · 8c5c6fad
    Dan Carpenter authored
    The problem here is that "unsigned i" is always greater than or equal to
    zero.  These loops mostly have a second check for "(i == 0)" so only the
    last two are actually buggy.  The rest is just cleanup.
    
    Bug 1:  kv_force_dpm_highest() doesn't have an "(i == 0)" check so it's
    a potential forever loop.
    
    Bug 2: In kv_get_sleep_divider_id_from_clock() there is a typo and the
    test is reversed "<=" vs ">" so we never enter the loop.  That means
    normally we return KV_MAX_DEEPSLEEP_DIVIDER_ID (5).  The return value
    from here is saved in ->DeepSleepDivId and I wasn't able to determine
    how that is used.  This is a static checker fix and I have not tested
    it.
    Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
    8c5c6fad
kv_dpm.c 71.5 KB