• Dave Jones's avatar
    [PATCH] cpufreq: fix pending powernow timer stuck condition · 0213df74
    Dave Jones authored
    AMD recently discovered that on some hardware, there is a race condition
    possible when a C-state change request goes onto the bus at the same
    time as a P-state change request.
    
    Both requests happen, but the southbridge hardware only acknowledges the
    C-state change.  The PowerNow! driver is then stuck in a loop, waiting
    for the P-state change acknowledgement.  The driver eventually times
    out, but can no longer perform P-state changes.
    
    It turns out the solution is to resend the P-state change, which the
    southbridge will acknowledge normally.
    
    Thanks to Johannes Winkelmann for reporting this and testing the fix.
    Signed-off-by: default avatarMark Langsdorf <mark.langsdorf@amd.com>
    Signed-off-by: default avatarDave Jones <davej@redhat.com>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    0213df74
powernow-k8.c 31.5 KB