• Alex Williamson's avatar
    [SERIAL] 8250 woraround for buggy uart · 25f34d0f
    Alex Williamson authored
    Patch from Alex Williamson
    
    This patch adds support for detecting and working around a bug in
    the A2 rev of the Exar ST16C2550 UART.  The chip incorrectly
    advertises an EFR and mis-detects as having the wrong size FIFO.
    Much of the patch below is Russell's proposed solution to the
    problem.  The only changes I've made are to check the FIFO size
    on the part (because there is a real part with the same divisor
    ID and larger FIFO) and save and restore the LCR register around
    the size_fifo() routine (it doesn't work correctly with a LCR
    value of 0xBF).
    
    Signed-off-by: Alex Williamson
    Signed-off-by: Russell King
    25f34d0f
8250.c 65.1 KB