[PATCHv2] Fix USB mouse Set_Protocol behavior

Submitted by Kevin O'Connor on Aug. 2, 2010, 3:30 p.m.

Details

Message ID 20100802153016.GA9031@morn.localdomain
State New
Headers show

Commit Message

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 hide | download patch | download mbox

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;