diff options
Diffstat (limited to 'hw/usb/hid-logitech-hidpp20.c')
-rw-r--r-- | hw/usb/hid-logitech-hidpp20.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/hw/usb/hid-logitech-hidpp20.c b/hw/usb/hid-logitech-hidpp20.c index 51e9596151..e3d451a1ef 100644 --- a/hw/usb/hid-logitech-hidpp20.c +++ b/hw/usb/hid-logitech-hidpp20.c @@ -271,8 +271,13 @@ static HIDPP20_FEATURE(feat_featureinfo) static HIDPP20_FEATURE(feat_dfucontrol) { - return -HIDPP20_ERR_CODE_UNSUPPORTED; /* TODO: figure out */ switch (fn) { + case 0: + if (!memcmp(params, "DFU", 3)) { + hd->dfu.active = true; + return 0; + } + return -HIDPP20_ERR_CODE_INVALIDARGUMENT; default: return -HIDPP20_ERR_CODE_INVALID_FUNCTION_ID; } |