sony-laptop: adjust error handling in finding SNC handles
All handles must be greater than 0, also return more meaningful error codes on invalid conditions. Signed-off-by: Mattia Dongili <malattia@linux.it> Signed-off-by: Matthew Garrett <mjg@redhat.com>
This commit is contained in:
parent
49f000adca
commit
bab7084c74
1 changed files with 4 additions and 4 deletions
|
@ -870,8 +870,8 @@ static int sony_find_snc_handle(int handle)
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
/* not initialized yet, return early */
|
/* not initialized yet, return early */
|
||||||
if (!handles)
|
if (!handles || !handle)
|
||||||
return -1;
|
return -EINVAL;
|
||||||
|
|
||||||
for (i = 0; i < 0x10; i++) {
|
for (i = 0; i < 0x10; i++) {
|
||||||
if (handles->cap[i] == handle) {
|
if (handles->cap[i] == handle) {
|
||||||
|
@ -881,7 +881,7 @@ static int sony_find_snc_handle(int handle)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
dprintk("handle 0x%.4x not found\n", handle);
|
dprintk("handle 0x%.4x not found\n", handle);
|
||||||
return -1;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int sony_call_snc_handle(int handle, int argument, int *result)
|
static int sony_call_snc_handle(int handle, int argument, int *result)
|
||||||
|
@ -890,7 +890,7 @@ static int sony_call_snc_handle(int handle, int argument, int *result)
|
||||||
int offset = sony_find_snc_handle(handle);
|
int offset = sony_find_snc_handle(handle);
|
||||||
|
|
||||||
if (offset < 0)
|
if (offset < 0)
|
||||||
return -1;
|
return offset;
|
||||||
|
|
||||||
arg = offset | argument;
|
arg = offset | argument;
|
||||||
ret = sony_nc_int_call(sony_nc_acpi_handle, "SN07", &arg, result);
|
ret = sony_nc_int_call(sony_nc_acpi_handle, "SN07", &arg, result);
|
||||||
|
|
Reference in a new issue