Patchwork [PATCHv2] Fix USB mouse Set_Protocol behavior

login
register
mail settings
Submitter Kevin O'Connor
Date Aug. 2, 2010, 3:30 p.m.
Message ID <20100802153016.GA9031@morn.localdomain>
Download mbox | patch
Permalink /patch/60543/
State New
Headers show

Comments

Kevin O'Connor - Aug. 2, 2010, 3:30 p.m.
The QEMU USB mouse claims to support the "boot" protocol
(bInterfaceSubClass is 1).  However, the mouse rejects the
Set_Protocol command.

The qemu mouse does support the "boot" protocol specification, so a
simple fix is to enable the Set_Protocol request.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
---
Changes v1->v2:
  Add signed-off-by line.
---
 hw/usb-hid.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

Patch

diff --git a/hw/usb-hid.c b/hw/usb-hid.c
index 882d933..d54823d 100644
--- a/hw/usb-hid.c
+++ b/hw/usb-hid.c
@@ -791,13 +791,13 @@  static int usb_hid_handle_control(USBDevice *dev, int request, int value,
             goto fail;
         break;
     case GET_PROTOCOL:
-        if (s->kind != USB_KEYBOARD)
+        if (s->kind != USB_KEYBOARD && s->kind != USB_MOUSE)
             goto fail;
         ret = 1;
         data[0] = s->protocol;
         break;
     case SET_PROTOCOL:
-        if (s->kind != USB_KEYBOARD)
+        if (s->kind != USB_KEYBOARD && s->kind != USB_MOUSE)
             goto fail;
         ret = 0;
         s->protocol = value;