diff options
author | Dan Carpenter <error27@gmail.com> | 2009-04-07 10:35:56 -0400 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2009-04-07 10:35:56 -0400 |
commit | 38089c658bf372adc2bd7b3597fceac0c7cecca6 (patch) | |
tree | 5405426d82594bc2424d1036996bc1da0d1aade4 | |
parent | 0221c81b1b8eb0cbb6b30a0ced52ead32d2b4e4c (diff) |
HID: hidraw -- fix missing unlocks in unlocked_ioctl
There were 2 places that returned directly instead of releasing their
locks. I sent a fix for this file earlier but ended up missing these
spots. I think what happened is that I have improved my checker script
since then... Or maybe I just screwed up.
Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
-rw-r--r-- | drivers/hid/hidraw.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/drivers/hid/hidraw.c b/drivers/hid/hidraw.c index e263d4731179..00ccf4b1985d 100644 --- a/drivers/hid/hidraw.c +++ b/drivers/hid/hidraw.c | |||
@@ -285,8 +285,10 @@ static long hidraw_ioctl(struct file *file, unsigned int cmd, | |||
285 | 285 | ||
286 | if (_IOC_NR(cmd) == _IOC_NR(HIDIOCGRAWNAME(0))) { | 286 | if (_IOC_NR(cmd) == _IOC_NR(HIDIOCGRAWNAME(0))) { |
287 | int len; | 287 | int len; |
288 | if (!hid->name) | 288 | if (!hid->name) { |
289 | return 0; | 289 | ret = 0; |
290 | break; | ||
291 | } | ||
290 | len = strlen(hid->name) + 1; | 292 | len = strlen(hid->name) + 1; |
291 | if (len > _IOC_SIZE(cmd)) | 293 | if (len > _IOC_SIZE(cmd)) |
292 | len = _IOC_SIZE(cmd); | 294 | len = _IOC_SIZE(cmd); |
@@ -297,8 +299,10 @@ static long hidraw_ioctl(struct file *file, unsigned int cmd, | |||
297 | 299 | ||
298 | if (_IOC_NR(cmd) == _IOC_NR(HIDIOCGRAWPHYS(0))) { | 300 | if (_IOC_NR(cmd) == _IOC_NR(HIDIOCGRAWPHYS(0))) { |
299 | int len; | 301 | int len; |
300 | if (!hid->phys) | 302 | if (!hid->phys) { |
301 | return 0; | 303 | ret = 0; |
304 | break; | ||
305 | } | ||
302 | len = strlen(hid->phys) + 1; | 306 | len = strlen(hid->phys) + 1; |
303 | if (len > _IOC_SIZE(cmd)) | 307 | if (len > _IOC_SIZE(cmd)) |
304 | len = _IOC_SIZE(cmd); | 308 | len = _IOC_SIZE(cmd); |