Commit bab7084c authored by Mattia Dongili's avatar Mattia Dongili Committed by Matthew Garrett

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: default avatarMattia Dongili <malattia@linux.it>
Signed-off-by: default avatarMatthew Garrett <mjg@redhat.com>
parent 49f000ad
...@@ -870,8 +870,8 @@ static int sony_find_snc_handle(int handle) ...@@ -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) ...@@ -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) ...@@ -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);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment