HID: roccat: add new device return value
Ryos uses a new return value for critical errors, others have been confirmed. Signed-off-by: Stefan Achatz <erazor_de@users.sourceforge.net> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
This commit is contained in:
Родитель
1c241131a1
Коммит
14fc4290df
|
@ -65,10 +65,11 @@ int roccat_common2_send(struct usb_device *usb_dev, uint report_id,
|
|||
EXPORT_SYMBOL_GPL(roccat_common2_send);
|
||||
|
||||
enum roccat_common2_control_states {
|
||||
ROCCAT_COMMON_CONTROL_STATUS_OVERLOAD = 0,
|
||||
ROCCAT_COMMON_CONTROL_STATUS_CRITICAL = 0,
|
||||
ROCCAT_COMMON_CONTROL_STATUS_OK = 1,
|
||||
ROCCAT_COMMON_CONTROL_STATUS_INVALID = 2,
|
||||
ROCCAT_COMMON_CONTROL_STATUS_WAIT = 3,
|
||||
ROCCAT_COMMON_CONTROL_STATUS_BUSY = 3,
|
||||
ROCCAT_COMMON_CONTROL_STATUS_CRITICAL_NEW = 4,
|
||||
};
|
||||
|
||||
static int roccat_common2_receive_control_status(struct usb_device *usb_dev)
|
||||
|
@ -88,13 +89,12 @@ static int roccat_common2_receive_control_status(struct usb_device *usb_dev)
|
|||
switch (control.value) {
|
||||
case ROCCAT_COMMON_CONTROL_STATUS_OK:
|
||||
return 0;
|
||||
case ROCCAT_COMMON_CONTROL_STATUS_WAIT:
|
||||
case ROCCAT_COMMON_CONTROL_STATUS_BUSY:
|
||||
msleep(500);
|
||||
continue;
|
||||
case ROCCAT_COMMON_CONTROL_STATUS_INVALID:
|
||||
|
||||
case ROCCAT_COMMON_CONTROL_STATUS_OVERLOAD:
|
||||
/* seems to be critical - replug necessary */
|
||||
case ROCCAT_COMMON_CONTROL_STATUS_CRITICAL:
|
||||
case ROCCAT_COMMON_CONTROL_STATUS_CRITICAL_NEW:
|
||||
return -EINVAL;
|
||||
default:
|
||||
dev_err(&usb_dev->dev,
|
||||
|
|
Загрузка…
Ссылка в новой задаче