From: Roderick Colenbrander Date: Tue, 7 Mar 2017 23:45:11 +0000 (-0800) Subject: HID: sony: Perform duplicate device check earlier on X-Git-Tag: v4.12-rc1~126^2~1^2~7 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=df848bc05db1c49756a2befbe03ab03ce34a6bcc;p=karo-tx-linux.git HID: sony: Perform duplicate device check earlier on Game controllers can be connected twice through USB and BT. Only one connection is allowed. Currently we perform a check for duplicate controllers halfway through device initialization. To prevent 'transient' devices, we should do this check as early as we can. Signed-off-by: Roderick Colenbrander Signed-off-by: Jiri Kosina --- diff --git a/drivers/hid/hid-sony.c b/drivers/hid/hid-sony.c index d8a13081701f..5eb5ac922c09 100644 --- a/drivers/hid/hid-sony.c +++ b/drivers/hid/hid-sony.c @@ -2477,6 +2477,10 @@ static int sony_input_configured(struct hid_device *hdev, goto err_stop; } + ret = append_dev_id = sony_check_add(sc); + if (ret < 0) + goto err_stop; + ret = sony_allocate_output_report(sc); if (ret < 0) { hid_err(hdev, "failed to allocate the output report buffer\n"); @@ -2610,10 +2614,6 @@ static int sony_input_configured(struct hid_device *hdev, ret = 0; } - if (ret < 0) - goto err_stop; - - ret = append_dev_id = sony_check_add(sc); if (ret < 0) goto err_stop;