diff options
author | Sachin Kamat <sachin.kamat@linaro.org> | 2012-09-17 16:41:56 +0530 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2012-09-17 13:15:55 +0200 |
commit | a6fbaacfb990580c080e4fad6623b7108f5a0507 (patch) | |
tree | 85ac2fbf6ce62d686006c91dce792325eaea9212 /drivers/hid | |
parent | 832fbeaef446a7024c5e0f19b7122100a7b1003d (diff) | |
download | linux-a6fbaacfb990580c080e4fad6623b7108f5a0507.tar.gz linux-a6fbaacfb990580c080e4fad6623b7108f5a0507.tar.bz2 linux-a6fbaacfb990580c080e4fad6623b7108f5a0507.zip |
HID: Fix return values in open_collection()
Return -ENOMEM instead of -1 if memory allocation fails.
Return -EINVAL instead of -1 for stack overflow and
underflow errors.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'drivers/hid')
-rw-r--r-- | drivers/hid/hid-core.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c index 8d3946af9ff6..62333e9dcb3a 100644 --- a/drivers/hid/hid-core.c +++ b/drivers/hid/hid-core.c @@ -126,7 +126,7 @@ static int open_collection(struct hid_parser *parser, unsigned type) if (parser->collection_stack_ptr == HID_COLLECTION_STACK_SIZE) { hid_err(parser->device, "collection stack overflow\n"); - return -1; + return -EINVAL; } if (parser->device->maxcollection == parser->device->collection_size) { @@ -134,7 +134,7 @@ static int open_collection(struct hid_parser *parser, unsigned type) parser->device->collection_size * 2, GFP_KERNEL); if (collection == NULL) { hid_err(parser->device, "failed to reallocate collection array\n"); - return -1; + return -ENOMEM; } memcpy(collection, parser->device->collection, sizeof(struct hid_collection) * @@ -170,7 +170,7 @@ static int close_collection(struct hid_parser *parser) { if (!parser->collection_stack_ptr) { hid_err(parser->device, "collection stack underflow\n"); - return -1; + return -EINVAL; } parser->collection_stack_ptr--; return 0; |