Hi all,

Does anyone know the reason why the following lines  were removed from 2.5
kernel?

--- 
usb_kbd_probe() usbkbc.c:192

    usb_set_protocol(dev, interface->bInterfaceNumber, 0);
    usb_set_idle(dev, interface->bInterfaceNumber, 0, 0);
---

These ones exist in 2.4 kernel. I think they are still needed in 2.5
kernel.

Section 7.2.6 of USB HID specification 1.11 states that

   "When initialized, all devices default to report protocol. However
   the host should not make any assumptions about the device's state and
   should set the desired protocol whenever initializing a device."

So usb_set_protocol() is needed especially for boot protocol kbd/mouse drivers.

And it is better to use usb_set_idle(dev, ... , 0, 0) so that bus usage
can be more efficient.  Without this initialization, the keyboard
transfers scancodes(usage id) on every interrupt period.  If use
usb_set_idle(,,0,0), it reports just NAKs until actual key presses are
occurred.

Same issues exist in usbmouse.c and hid-core.c.

-- 
MOKUNO Masakazu  // 




-------------------------------------------------------
This sf.net email is sponsored by: Jabber - The world's fastest growing 
real-time communications platform! Don't just IM. Build it in! 
http://www.jabber.com/osdn/xim
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to