Hi, I'm trying to reload AMD Ryzen Mobile (fam17h) microcode doing: echo 1 > /sys/devices/system/cpu/microcode/reload
The problem is I don't get any feedback. No error for the "echo" command, no a single new line in the "dmesg". I have no idea if microcode has been reloaded or not. I did a quick pr_info based debugging and I noticed that: 1) load_microcode_amd() calls __load_microcode_amd() and gets UCODE_OK 2) load_microcode_amd() calls find_patch(0) and gets a NULL because of that NULL load_microcode_amd() doesn't return UCODE_NEW. Seeing above I've decided to debug find_patch(). It seems to be calling __find_equiv_id(0) which returns 0. The last step was debugging __find_equiv_id() and find_equiv_id(). It seems that find_equiv_id() gets sig 8458000 that doesn't exists in the equiv_cpu_table: [19.736770] microcode: [find_equiv_id] sig:8458000 [19.736772] microcode: [find_equiv_id] equiv_table->installed_cpu:8392466 [19.736775] microcode: [find_equiv_id] equiv_table->installed_cpu:8392578 Has my microcode been updated? Is there a way to improve that microcode loading code? Is find_patch(0) returning a NULL expected or maybe a bug? -- Rafał

