Messages in this thread | | | Date | Sun, 10 Dec 2000 11:26:38 -0500 | From | Jeff Garzik <> | Subject | Re: Serial cardbus code.... for testing, please..... |
| |
"Theodore Y. Ts'o" wrote: > > Date: Sat, 09 Dec 2000 11:13:59 -0500 > From: Jeff Garzik <jgarzik@mandrakesoft.com> > > > Note how the "rs_interrupt()" routine _tries_ to avoid this by having a > > pass counter value, but that logic never triggers because we will loop > > forever in receive_chars(), so the rs_interrupt() counter never even gets > > to increment. > > Other places in serial.c check for 0xff, which implies we can and should > do the same in the interrupt handler... > > No, other places in the serial driver check for 0xff *after* setting > various registers and clearing various flags. Those various > initializations are critical before you can simply do a "bail if LSR == > 0xff" check.
Looking through the code, isn't this setup complete before any interrupts get delivered to rs_interrupt?
> It's possible (not very likely, but possible) for LSR to go into > christmas tree mode where all of the flags are set in normal operation. > So for the interrupt driver, we're going to have to do some kind of loop > based thing --- if interrupt driver receives 0xff more than some number > of times, bail.
oh well :)
Jeff
-- Jeff Garzik | Building 1024 | These are not the J's you're lookin' for. MandrakeSoft | It's an old Jedi mind trick. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
| |