Re: [PATCH] serial: Two branches the same in timbuart_set_mctrl()

From: Roel Kluin
Date: Mon Mar 15 2010 - 09:32:34 EST


Hi Richard,

>> if (mctrl& TIOCM_RTS)
>> iowrite8(TIMBUART_CTRL_RTS, port->membase + TIMBUART_CTRL);
>> else
>> - iowrite8(TIMBUART_CTRL_RTS, port->membase + TIMBUART_CTRL);
>> + iowrite8(TIMBUART_CTRL_CTS, port->membase + TIMBUART_CTRL);
>
> This is not completely correct. CTS is a read only bit and we are to
> stop signal RTS. So the line should look like:
> iowrite8(0, port->membase + TIMBUART_CTRL);

It appears as if this will also unset TIMBUART_CTRL_CTS (which is
probably ok since it's read-only) but TIMBUART_CTRL_FLSHTX and
TIMBUART_CTRL_FLSHRX as well. If undesired we need something like this:

iowrite8(ioread8(port->membase + TIMBUART_CTRL) & ~TIMBUART_CTRL_RTS,
port->membase + TIMBUART_CTRL);

If not required I'll send the patch as you suggested.

Regards, Roel
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/