HID: gt683r: fix race condition

This will fix race condition noticed by Oliver Neukum. Sysfs files are
created before mutex and work are initialized.

Signed-off-by: Janne Kanniainen <janne.kanniainen@gmail.com>
Reviewed-by: Johan Hovold <johan@kernel.org>
Signed-off-by: Bryan Wu <cooloney@gmail.com>
This commit is contained in:
Janne Kanniainen 2014-07-03 10:17:08 -07:00 committed by Bryan Wu
parent f471d94802
commit c3883ae918

View file

@ -227,6 +227,9 @@ static int gt683r_led_probe(struct hid_device *hdev,
if (!led)
return -ENOMEM;
mutex_init(&led->lock);
INIT_WORK(&led->work, gt683r_led_work);
led->mode = GT683R_LED_NORMAL;
led->hdev = hdev;
hid_set_drvdata(hdev, led);
@ -271,9 +274,6 @@ static int gt683r_led_probe(struct hid_device *hdev,
goto fail;
}
mutex_init(&led->lock);
INIT_WORK(&led->work, gt683r_led_work);
return 0;
fail: