powerpc/pseries/dlpar: use rtas_get_sensor()
Instead of making bare calls to get-sensor-state, use
rtas_get_sensor(), which correctly handles busy and extended delay
statuses.
Fixes: ab519a011c
("powerpc/pseries: Kernel DLPAR Infrastructure")
Signed-off-by: Nathan Lynch <nathanl@linux.ibm.com>
Reviewed-by: Laurent Dufour <ldufour@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20210504025329.1713878-1-nathanl@linux.ibm.com
This commit is contained in:
parent
4bfa5ddff9
commit
bfb0c9fcf5
@ -289,8 +289,7 @@ int dlpar_acquire_drc(u32 drc_index)
|
||||
{
|
||||
int dr_status, rc;
|
||||
|
||||
rc = rtas_call(rtas_token("get-sensor-state"), 2, 2, &dr_status,
|
||||
DR_ENTITY_SENSE, drc_index);
|
||||
rc = rtas_get_sensor(DR_ENTITY_SENSE, drc_index, &dr_status);
|
||||
if (rc || dr_status != DR_ENTITY_UNUSABLE)
|
||||
return -1;
|
||||
|
||||
@ -311,8 +310,7 @@ int dlpar_release_drc(u32 drc_index)
|
||||
{
|
||||
int dr_status, rc;
|
||||
|
||||
rc = rtas_call(rtas_token("get-sensor-state"), 2, 2, &dr_status,
|
||||
DR_ENTITY_SENSE, drc_index);
|
||||
rc = rtas_get_sensor(DR_ENTITY_SENSE, drc_index, &dr_status);
|
||||
if (rc || dr_status != DR_ENTITY_PRESENT)
|
||||
return -1;
|
||||
|
||||
@ -333,8 +331,7 @@ int dlpar_unisolate_drc(u32 drc_index)
|
||||
{
|
||||
int dr_status, rc;
|
||||
|
||||
rc = rtas_call(rtas_token("get-sensor-state"), 2, 2, &dr_status,
|
||||
DR_ENTITY_SENSE, drc_index);
|
||||
rc = rtas_get_sensor(DR_ENTITY_SENSE, drc_index, &dr_status);
|
||||
if (rc || dr_status != DR_ENTITY_PRESENT)
|
||||
return -1;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user