Messages in this thread | | | Date | Thu, 1 Sep 2005 14:47:20 -0700 | From | Tom Rini <> | Subject | Re: [PATCH 1/1] 8250_kgdb driver reworked |
| |
On Thu, Sep 01, 2005 at 10:57:54PM +0100, Alan Cox wrote: > > +static irqreturn_t > > +kgdb8250_interrupt(int irq, void *dev_id, struct pt_regs *regs) > > +{ > > + char iir; > > + > > + if (irq != KGDB8250_IRQ) > > + return IRQ_NONE; > > How can this occur - you gave the IRQ number in the register_irq. WHy > test for it, and if it occurs why not BUG()
Early sanity tests, dropped.
> > + /* > > + * If there is some other CPU in KGDB then this is a > > + * spurious interrupt. so return without even checking a byte > > + */ > > + if (atomic_read(&debugger_active)) > > + return IRQ_NONE; > > + > > Shared IRQ -> hung box.
Can you elaborate a bit more please? When we're actually in KGDB and working on stuff we're polling so it's really just the GDB-is-interrupting case.
> Also lose the ugly confusing macros like CURRENTPORT please to follow > kernel style better. In fact why not keep a pointer to the 'current' > uart to get tighter code too ?
Sure, why not.
-- Tom Rini http://gate.crashing.org/~trini/ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |