fix usb-hid SET_IDLE behaviour (Stefano Stabellini)
commit181a29c5b2f5eacdc8c5fdf30bf46a04abedffde
authoraliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>
Wed, 7 Jan 2009 16:41:47 +0000 (7 16:41 +0000)
committeraliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>
Wed, 7 Jan 2009 16:41:47 +0000 (7 16:41 +0000)
tree4d5ca54e1d24fe1fb9beb522725dd6808d77f421
parentef96779bc3df7f4fe228fb9a5c7ecb81a04b2644
fix usb-hid SET_IDLE behaviour (Stefano Stabellini)

the usb-hid spec states that the SET_IDLE request has a 16bit value,
where the upper byte specifies the idle rate (currently unimplemented,
we handle only the 0 case, meaning infinite duration) and the lower
byte specifies the report id (0 means all reports).
In our code we do idle = value, while it should be idle = "upper byte",
especially if the guest issues a GET_IDLE, we should return only the
idle rate while we are returning only the report id.
In practice it doesn't make much difference because I have only seen
SET_VALUE with both bytes set to 0 so far, but still it is wrong.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6211 c046a42c-6fe2-441c-8c8c-71466251a162
hw/usb-hid.c