drivers/char/keyboard.c relies on the fact that kdb_pt_regs gets filled out when a ps2 interrupt occurs to pass this data to kdb(). When a usb keyboard is used to break into kdb via the [Break] key, this variable is not filled out. --- /h/rsanders/trees/2.0_kdb4/ftl_future/linux/drivers/usb/usb-ohci.c Fri Apr 4 13:38:50 2003 +++ drivers/usb/usb-ohci.c Tue Jun 10 10:54:58 2003 @@ -2384,6 +2384,11 @@ struct ohci_regs * regs = ohci->regs; int ints; +#ifdef CONFIG_KDB + extern struct pt_regs * kdb_pt_regs; + kbd_pt_regs = r; +#endif + if ((ohci->hcca->done_head != 0) && !(le32_to_cpup (&ohci->hcca->done_head) & 0x01)) { ints = OHCI_INTR_WDH; } else if ((ints = (readl (®s->intrstatus) & readl (®s->intrenable))) == 0) { --- /h/rsanders/trees/2.0_kdb4/ftl_future/linux/drivers/usb/usb-uhci.c Tue Jun 10 08:49:43 2003 +++ drivers/usb/usb-uhci.c Tue Jun 10 10:55:15 2003 @@ -2730,6 +2730,11 @@ unsigned short status; struct list_head *p, *p2; int restarts, work_done; + +#ifdef CONFIG_KDB + extern struct pt_regs * kbd_pt_regs; + kbd_pt_regs = regs; +#endif /* * Read the interrupt status, and write it back to clear the