mirror of
https://github.com/torvalds/linux.git
synced 2026-05-27 16:44:58 +02:00
powerpc/rtas: Serialize firmware activation sequences
Use rtas_ibm_activate_firmware_lock to prevent interleaving call sequences of the ibm,activate-firmware RTAS function, which typically requires multiple calls to complete the update. While the spec does not specifically prohibit interleaved sequences, there's almost certainly no advantage to allowing them. Reviewed-by: "Aneesh Kumar K.V (IBM)" <aneesh.kumar@kernel.org> Signed-off-by: Nathan Lynch <nathanl@linux.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://msgid.link/20231212-papr-sys_rtas-vs-lockdown-v6-7-e9eafd0c8c6c@linux.ibm.com
This commit is contained in:
parent
adf7a019e5
commit
dc7637c402
|
|
@ -1734,10 +1734,14 @@ void rtas_activate_firmware(void)
|
|||
return;
|
||||
}
|
||||
|
||||
mutex_lock(&rtas_ibm_activate_firmware_lock);
|
||||
|
||||
do {
|
||||
fwrc = rtas_call(token, 0, 1, NULL);
|
||||
} while (rtas_busy_delay(fwrc));
|
||||
|
||||
mutex_unlock(&rtas_ibm_activate_firmware_lock);
|
||||
|
||||
if (fwrc)
|
||||
pr_err("ibm,activate-firmware failed (%i)\n", fwrc);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user