HID: sony: Print error on failure to active DS3 / Navigation controllers
This patch adds printing when we failed to activate DS3 / Nagivation controllers and checks the return value for these failures earlier in sony_input_configured. This paves the way for other configuration logic for these devices, which we don't want to call if for example the activation failed. Signed-off-by: Roderick Colenbrander <roderick.colenbrander@sony.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
This commit is contained in:
parent
e19a267b99
commit
80ecc48c0a
|
@ -2468,7 +2468,13 @@ static int sony_input_configured(struct hid_device *hdev,
|
||||||
hdev->quirks |= HID_QUIRK_NO_OUTPUT_REPORTS_ON_INTR_EP;
|
hdev->quirks |= HID_QUIRK_NO_OUTPUT_REPORTS_ON_INTR_EP;
|
||||||
hdev->quirks |= HID_QUIRK_SKIP_OUTPUT_REPORT_ID;
|
hdev->quirks |= HID_QUIRK_SKIP_OUTPUT_REPORT_ID;
|
||||||
sc->defer_initialization = 1;
|
sc->defer_initialization = 1;
|
||||||
|
|
||||||
ret = sixaxis_set_operational_usb(hdev);
|
ret = sixaxis_set_operational_usb(hdev);
|
||||||
|
if (ret < 0) {
|
||||||
|
hid_err(hdev, "Failed to set controller into operational mode\n");
|
||||||
|
goto err_stop;
|
||||||
|
}
|
||||||
|
|
||||||
sony_init_output_report(sc, sixaxis_send_output_report);
|
sony_init_output_report(sc, sixaxis_send_output_report);
|
||||||
} else if ((sc->quirks & SIXAXIS_CONTROLLER_BT) ||
|
} else if ((sc->quirks & SIXAXIS_CONTROLLER_BT) ||
|
||||||
(sc->quirks & NAVIGATION_CONTROLLER_BT)) {
|
(sc->quirks & NAVIGATION_CONTROLLER_BT)) {
|
||||||
|
@ -2477,7 +2483,13 @@ static int sony_input_configured(struct hid_device *hdev,
|
||||||
* when connected via Bluetooth.
|
* when connected via Bluetooth.
|
||||||
*/
|
*/
|
||||||
hdev->quirks |= HID_QUIRK_NO_OUTPUT_REPORTS_ON_INTR_EP;
|
hdev->quirks |= HID_QUIRK_NO_OUTPUT_REPORTS_ON_INTR_EP;
|
||||||
|
|
||||||
ret = sixaxis_set_operational_bt(hdev);
|
ret = sixaxis_set_operational_bt(hdev);
|
||||||
|
if (ret < 0) {
|
||||||
|
hid_err(hdev, "Failed to set controller into operational mode\n");
|
||||||
|
goto err_stop;
|
||||||
|
}
|
||||||
|
|
||||||
sony_init_output_report(sc, sixaxis_send_output_report);
|
sony_init_output_report(sc, sixaxis_send_output_report);
|
||||||
} else if (sc->quirks & DUALSHOCK4_CONTROLLER) {
|
} else if (sc->quirks & DUALSHOCK4_CONTROLLER) {
|
||||||
ret = dualshock4_get_calibration_data(sc);
|
ret = dualshock4_get_calibration_data(sc);
|
||||||
|
|
Loading…
Reference in a new issue