On Sat, Sep 27, 2003 at 02:16:07AM +0800, plasma wrote:
> The problem is here:
> 
> Sep 27 01:37:28 plasmanb /kernel: before old: 22 44 
> Sep 27 01:37:28 plasmanb /kernel: before new: 44 
> Sep 27 01:37:28 plasmanb /kernel: no: 2, nn: 0
> Sep 27 01:37:28 plasmanb /kernel: 0x416 (1046) released
> Sep 27 01:37:28 plasmanb /kernel: 0x42c (1068) released

Ok, I finally found out what's really going on.  I added another debug
patch, and everything is clear:

Sep 27 14:30:24 plasmanb /kernel: before old: 12 22 0 0 0 0 (6) 
Sep 27 14:30:24 plasmanb /kernel: before new: 0 22 0 0 0 0 (6) 

That's it!  The 0's is not guaranteed to be the end of data.  With
this knowledge, the fix is obvious:

[[[
--- /usr/src/sys/dev/usb/ukbd.c.orig    Mon Mar 31 08:31:35 2003
+++ /usr/src/sys/dev/usb/ukbd.c Sat Sep 27 15:13:31 2003
@@ -732,10 +732,10 @@
        for (i = 0; i < NKEYCODE; i++) {
                key = state->ks_odata.keycode[i];
                if (key == 0)
-                       break;
+                       continue;
                for (j = 0; j < NKEYCODE; j++) {
                        if (ud->keycode[j] == 0)
-                               break;
+                               continue;
                        if (key == ud->keycode[j])
                                goto rfound;
                }
@@ -748,11 +748,11 @@
        for (i = 0; i < NKEYCODE; i++) {
                key = ud->keycode[i];
                if (key == 0)
-                       break;
+                       continue;
                state->ks_ntime[i] = now + kbd->kb_delay1;
                for (j = 0; j < NKEYCODE; j++) {
                        if (state->ks_odata.keycode[j] == 0)
-                               break;
+                               continue;
                        if (key == state->ks_odata.keycode[j]) {
                                state->ks_ntime[i] = state->ks_otime[j];
                                if (state->ks_otime[j] > now)
]]]

Yes, I'm composing this email with my usb->ps/2 adaptor and my
favorite ps/2 keyboard. :D

I'll sendpr with this patch.  Enjoy the patch. :)


plasma


==========================================================
 ����b���̾�ߪ���
 http://edm-prg.epaper.com.tw/click.php?ad_code=25227
==========================================================
 PChome�u�W�ʪ��g�~�y�G��T���BDV�ѤѰe
 http://shopping.pchome.com.tw/
==========================================================
_______________________________________________
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to