HID: nintendo: unlock on error in joycon_leds_create()
These two error paths need to drop the lock before returning.
Fixes: c5e6267695
("HID: nintendo: add player led support")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
This commit is contained in:
committed by
Jiri Kosina
parent
f155dfeaa4
commit
304dd3680b
@ -1850,8 +1850,10 @@ static int joycon_leds_create(struct joycon_ctlr *ctlr)
|
|||||||
d_name,
|
d_name,
|
||||||
"green",
|
"green",
|
||||||
joycon_player_led_names[i]);
|
joycon_player_led_names[i]);
|
||||||
if (!name)
|
if (!name) {
|
||||||
|
mutex_unlock(&joycon_input_num_mutex);
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
}
|
||||||
|
|
||||||
led = &ctlr->leds[i];
|
led = &ctlr->leds[i];
|
||||||
led->name = name;
|
led->name = name;
|
||||||
@ -1864,6 +1866,7 @@ static int joycon_leds_create(struct joycon_ctlr *ctlr)
|
|||||||
ret = devm_led_classdev_register(&hdev->dev, led);
|
ret = devm_led_classdev_register(&hdev->dev, led);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
hid_err(hdev, "Failed registering %s LED\n", led->name);
|
hid_err(hdev, "Failed registering %s LED\n", led->name);
|
||||||
|
mutex_unlock(&joycon_input_num_mutex);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user