All handles must be greater than 0, also return more meaningful error
codes on invalid conditions.

Signed-off-by: Mattia Dongili <[email protected]>
---
 drivers/platform/x86/sony-laptop.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/platform/x86/sony-laptop.c 
b/drivers/platform/x86/sony-laptop.c
index c3f54ad..2b72e47 100644
--- a/drivers/platform/x86/sony-laptop.c
+++ b/drivers/platform/x86/sony-laptop.c
@@ -870,8 +870,8 @@ static int sony_find_snc_handle(int handle)
        int i;
 
        /* not initialized yet, return early */
-       if (!handles)
-               return -1;
+       if (!handles || !handle)
+               return -EINVAL;
 
        for (i = 0; i < 0x10; i++) {
                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);
-       return -1;
+       return -EINVAL;
 }
 
 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);
 
        if (offset < 0)
-               return -1;
+               return offset;
 
        arg = offset | argument;
        ret = sony_nc_int_call(sony_nc_acpi_handle, "SN07", &arg, result);
-- 
1.7.10

--
To unsubscribe from this list: send the line "unsubscribe platform-driver-x86" 
in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to