1
0
Fork 0

HID: unlock on error path in hid_device_probe()

We recently introduced locking into this function, but we missed an
error path which needs an unlock.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
hifive-unleashed-5.1
Dan Carpenter 2011-08-24 14:27:46 +03:00 committed by Jiri Kosina
parent 54d3339ac1
commit ba623a774f
1 changed files with 5 additions and 3 deletions

View File

@ -1642,8 +1642,10 @@ static int hid_device_probe(struct device *dev)
if (!hdev->driver) {
id = hid_match_device(hdev, hdrv);
if (id == NULL)
return -ENODEV;
if (id == NULL) {
ret = -ENODEV;
goto unlock;
}
hdev->driver = hdrv;
if (hdrv->probe) {
@ -1656,7 +1658,7 @@ static int hid_device_probe(struct device *dev)
if (ret)
hdev->driver = NULL;
}
unlock:
up(&hdev->driver_lock);
return ret;
}