serial driver question

Guennadi Liakhovetski (gl@dsa-ac.de)
Fri, 12 Apr 2002 17:35:13 +0200 (CEST)


(asking on kernelnewbies didn't produceany results, so, I'm protected:-))

Hello all

The function
static int size_fifo(struct async_struct *info)
{
...
ends as follows:
serial_outp(info, UART_LCR, UART_LCR_DLAB);
serial_outp(info, UART_DLL, old_dll);
serial_outp(info, UART_DLM, old_dlm);

return count;
}

Which means, that DLAB is not re-set, and, in particular, all subsequent
read/write operations on offsets 0 and 1 will not affect the data and
interrupt enable registers, but the divisor latch register... Or is this
register somehow magically restored elsewhere or by the hardware (say, on
an interrupt)? This function seems to be only called for startech UARTs.

Thanks
Guennadi
---------------------------------
Guennadi Liakhovetski, Ph.D.
DSA Daten- und Systemtechnik GmbH
Pascalstr. 28
D-52076 Aachen
Germany

-
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/