mirror of https://gitee.com/openkylin/linux.git
powerpc/numa: Handle extra hcall_vphn error cases
Currently code handles H_FUNCTION, H_SUCCESS, H_HARDWARE return codes. However hcall_vphn can return other return codes. Now it also handles H_PARAMETER return code. Also the rest return codes are handled under the default case. Signed-off-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com> Reported-by: Abdul Haleem <abdhalee@linux.vnet.ibm.com> Reviewed-by: Nathan Lynch <nathanl@linux.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20200129135301.24739-3-srikar@linux.vnet.ibm.com
This commit is contained in:
parent
e7214ae9d8
commit
76b7bfb173
|
@ -1191,23 +1191,30 @@ static long vphn_get_associativity(unsigned long cpu,
|
|||
VPHN_FLAG_VCPU, associativity);
|
||||
|
||||
switch (rc) {
|
||||
case H_FUNCTION:
|
||||
printk_once(KERN_INFO
|
||||
"VPHN is not supported. Disabling polling...\n");
|
||||
stop_topology_update();
|
||||
break;
|
||||
case H_HARDWARE:
|
||||
printk(KERN_ERR
|
||||
"hcall_vphn() experienced a hardware fault "
|
||||
"preventing VPHN. Disabling polling...\n");
|
||||
stop_topology_update();
|
||||
break;
|
||||
case H_SUCCESS:
|
||||
dbg("VPHN hcall succeeded. Reset polling...\n");
|
||||
timed_topology_update(0);
|
||||
goto out;
|
||||
|
||||
case H_FUNCTION:
|
||||
pr_err_ratelimited("VPHN unsupported. Disabling polling...\n");
|
||||
break;
|
||||
case H_HARDWARE:
|
||||
pr_err_ratelimited("hcall_vphn() experienced a hardware fault "
|
||||
"preventing VPHN. Disabling polling...\n");
|
||||
break;
|
||||
case H_PARAMETER:
|
||||
pr_err_ratelimited("hcall_vphn() was passed an invalid parameter. "
|
||||
"Disabling polling...\n");
|
||||
break;
|
||||
default:
|
||||
pr_err_ratelimited("hcall_vphn() returned %ld. Disabling polling...\n"
|
||||
, rc);
|
||||
break;
|
||||
}
|
||||
|
||||
stop_topology_update();
|
||||
out:
|
||||
return rc;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue