Ingo,Can you name the exact 8250 model which is buggy ?
I've noticed that you dropped my "buggy uart" patch. Probably because
the 2.6.14 version would cause a deadlock on 2.6.16. I've sent you a
new update, but it must have been lost in all the noise. Here's the
patch again. If you don't think this is a bug, try running the attached
program on the machine that deadlocked (it is the one with the buggy
uart). Without the patch, the serial_test will miss a wake up, and then
be stuck in the sleeping TASK_INTERRUPTIBLE state (at least you can
still kill it). With the patch, it runs fine.
I ran the program with the following parameters:
# ./serial_test /dev/ttyS0 115200 8 0 0 4
(Disclaimer: I did not write this serial_test. It was hacked up by my
customer to show me that this bug exists).
This may also be a bug with the vanilla kernel, since I don't see why it
is not. I'll run more tests on the vanilla kernel, and if it too misses
a wake up, I'll submit this to vanilla as well.
Some 8250 uarts don't zero out the NO_INTERRUPT bit of the IIR register