• Roderick Colenbrander's avatar
    HID: sony: Fix race condition in sony_probe · e1bc84d0
    Roderick Colenbrander authored
    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: default avatarRoderick Colenbrander <roderick.colenbrander@sony.com>
    Reviewed-by: default avatarBenjamin Tissoires <benjamin.tissoires@redhat.com>
    Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
    e1bc84d0
hid-sony.c 95.9 KB