diff options
| -rw-r--r-- | drivers/platform/x86/hp-wmi.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/platform/x86/hp-wmi.c b/drivers/platform/x86/hp-wmi.c index f94017bcdd6e..e2faa3cbb792 100644 --- a/drivers/platform/x86/hp-wmi.c +++ b/drivers/platform/x86/hp-wmi.c | |||
| @@ -207,6 +207,7 @@ static int hp_wmi_perform_query(int query, int write, void *buffer, | |||
| 207 | }; | 207 | }; |
| 208 | struct acpi_buffer input = { sizeof(struct bios_args), &args }; | 208 | struct acpi_buffer input = { sizeof(struct bios_args), &args }; |
| 209 | struct acpi_buffer output = { ACPI_ALLOCATE_BUFFER, NULL }; | 209 | struct acpi_buffer output = { ACPI_ALLOCATE_BUFFER, NULL }; |
| 210 | u32 rc; | ||
| 210 | 211 | ||
| 211 | if (WARN_ON(insize > sizeof(args.data))) | 212 | if (WARN_ON(insize > sizeof(args.data))) |
| 212 | return -EINVAL; | 213 | return -EINVAL; |
| @@ -224,13 +225,13 @@ static int hp_wmi_perform_query(int query, int write, void *buffer, | |||
| 224 | } | 225 | } |
| 225 | 226 | ||
| 226 | bios_return = (struct bios_return *)obj->buffer.pointer; | 227 | bios_return = (struct bios_return *)obj->buffer.pointer; |
| 228 | rc = bios_return->return_code; | ||
| 227 | 229 | ||
| 228 | if (bios_return->return_code) { | 230 | if (rc) { |
| 229 | if (bios_return->return_code != HPWMI_RET_UNKNOWN_CMDTYPE) | 231 | if (rc != HPWMI_RET_UNKNOWN_CMDTYPE) |
| 230 | pr_warn("query 0x%x returned error 0x%x\n", | 232 | pr_warn("query 0x%x returned error 0x%x\n", query, rc); |
| 231 | query, bios_return->return_code); | ||
| 232 | kfree(obj); | 233 | kfree(obj); |
| 233 | return bios_return->return_code; | 234 | return rc; |
| 234 | } | 235 | } |
| 235 | 236 | ||
| 236 | if (!outsize) { | 237 | if (!outsize) { |
