mirror of https://gitee.com/openkylin/linux.git
staging: unisys: visorbus: chipset_init add error handling
Controlvm_respond_chipset_init now errors out correctly. Pass the errors back up to the stack to be processed. Signed-off-by: David Kershner <david.kershner@unisys.com> Reported-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
1d7f552203
commit
79c3f971d9
|
@ -511,16 +511,18 @@ controlvm_respond_chipset_init(struct controlvm_message_header *msg_hdr,
|
|||
CONTROLVM_QUEUE_REQUEST, &outmsg);
|
||||
}
|
||||
|
||||
static void
|
||||
static int
|
||||
chipset_init(struct controlvm_message *inmsg)
|
||||
{
|
||||
static int chipset_inited;
|
||||
enum ultra_chipset_feature features = 0;
|
||||
int rc = CONTROLVM_RESP_SUCCESS;
|
||||
int res = 0;
|
||||
|
||||
POSTCODE_LINUX_2(CHIPSET_INIT_ENTRY_PC, POSTCODE_SEVERITY_INFO);
|
||||
if (chipset_inited) {
|
||||
rc = -CONTROLVM_RESP_ERROR_ALREADY_DONE;
|
||||
res = -EIO;
|
||||
goto out_respond;
|
||||
}
|
||||
chipset_inited = 1;
|
||||
|
@ -541,7 +543,9 @@ chipset_init(struct controlvm_message *inmsg)
|
|||
|
||||
out_respond:
|
||||
if (inmsg->hdr.flags.response_expected)
|
||||
controlvm_respond_chipset_init(&inmsg->hdr, rc, features);
|
||||
res = controlvm_respond_chipset_init(&inmsg->hdr, rc, features);
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
Loading…
Reference in New Issue