[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[microblaze-uclinux] Re: [uClinux-dev] Regarding the xmbserial driver
Jivin John Williams lays it down ...
...
> The problem seems to be related to a code path in the interrupt handler
> of xmbserial.c - from memory if the flip_buffer is full, the handler
> exits without stripping the incoming chars in the hardware buffer. This
> causes an endless interrupt loop because the interrupt is still
> asserted, but there's no room in the filp_buf. Or something like that.
The SH serial driver had much the same problem (sh-sci.c), just changed
it to throw stuff away once all the buffers were full. Thats what the
word "overrun" was created to describe ;-)
There's not much you can do if a device hasn't responded to flow control
requests and you happen to be busy and not consuming the chars, you have
to throw them away,
Cheers,
Davidm
--
David McCullough, davidm@snapgear.com Ph:+61 7 34352815 http://www.SnapGear.com
Custom Embedded Solutions + Security Fx:+61 7 38913630 http://www.uCdot.org
___________________________
microblaze-uclinux mailing list
microblaze-uclinux@itee.uq.edu.au
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/