]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commit
HID: sony: Fix race condition in sony_probe
authorRoderick Colenbrander <roderick.colenbrander@sony.com>
Fri, 7 Oct 2016 19:39:34 +0000 (12:39 -0700)
committerJiri Kosina <jkosina@suse.cz>
Mon, 10 Oct 2016 08:43:24 +0000 (10:43 +0200)
commite1bc84d0071f59c8b38232e2cb093c47c47e4f9f
tree69ede131b1412765e2ee2b092727d277b352a2a4
parentbc75450cc3db3485db1e289fef8c1028ba38296a
HID: sony: Fix race condition in sony_probe

Early on the sony_probe function calls hid_hw_start to start the hardware.
Afterwards it issues some hardware requests, initializes other functionality
like Force Feedback, power classes and others. However by the time
hid_hw_start returns, the device nodes have already been created, which leads
to a race condition by user space applications which may detect the device
prior to completion of initialization. We have observed this problem many
times, this patch fixes the problem.

This patch moves most of sony_probe to sony_input_configured, which is called
prior to device registration. This fixes the race condition and the same
approach is used in other HID drivers.

Signed-off-by: Roderick Colenbrander <roderick.colenbrander@sony.com>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/hid-sony.c