• Linus Torvalds's avatar
    Revert "x86, ucode-amd: Ensure ucode update on suspend/resume after CPU off/online cycle" · 2f99f5c8
    Linus Torvalds authored
    This reverts commit 9f15226e.  It's just
    wrong, and broke resume for Rafael even on a non-AMD CPU.
    
    As Rafael says:
     "... it causes microcode_init_cpu() to be called during resume even for
      CPUs for which there's no microcode to apply.  That, in turn, results
      in executing request_firmware() (on Intel CPUs at least) which doesn't
      work at this stage of resume (we have device interrupts disabled, I/O
      devices are still suspended and so on).
    
      If I'm not mistaken, the "if (uci->valid)" logic means "if that CPU is
      known to us" , so before commit 9f15226e microcode_resume_cpu() was
      called for all CPUs already in the system during suspend, which was
      the right thing to do.  The commit changed it so that the CPUs without
      microcode to apply are now treated as "unknown", which is not quite
      right.
    
      The problem this commit attempted to solve has to be handled
      differently."
    
    Bisected-and -requested-by: Rafael J. Wysocki <rjw@sisk.pl>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    2f99f5c8
microcode_core.c 13.8 KB