ukbd patch advice

From: Sam Banks <w0lfie_at_clear.net.nz>
Date: Mon, 16 Jul 2007 18:54:07 +1200
Hey all,

I have been having a problem with my particular usb keyboard
(0x03 was always being written into the first element of
ukbd_data->keycode basically). I have tracked it down to a
problem somewhere in between the uhci chipset (same problem
with other cuts of uhci chipset), the uhci and/or ukbd
drivers and the keyboard.

A fix to the problem is to reorder members of the struct
ukbd_data. Originally, the members are ordered as modifiers,
reserved and keycode[6] (minus a bunch of #define's). If I
change this order to reserved, modifiers and keycode[6], my
keyboard starts to function as it should (minus lighting up
the LED's but that's another email all together :)). With
this reordering, it stops other usb keyboards which function
with the original code from working.

I'm wanting submit a patch for this fix (as other people are
experiencing the same problems) but I'm not sure how to do
this. I was thinking along the lines of the usb quirks
function but it appears outside of a function body, you
cannot have the normal if() type statements, only the
preprocessor #ifdef types. To me, having a kernel config
option for a single keyboard on a single driver seems quite
overkill.

Does anyone have any suggestions on what I should do or can
anyone point me to some code that deals with a similar
problem?

On a side note, is anyone able to shed any light into why
they think the above fix works? I am drawing a bit of a
blank to be honest. Is it possible that my fix is only
masking the problem?

If you need any more info or whatever, yell out.

Cheers,

Sam.
Received on Mon Jul 16 2007 - 05:10:13 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:14 UTC