Thread (3 messages) 3 messages, 3 authors, 2012-09-21
STALE5008d

Re: [PATCH 1/3] serial: pl011: safeguard against impossible baudrates

From: Russell King - ARM Linux <hidden>
Date: 2012-09-20 18:57:48
Also in: linux-arm-kernel

On Thu, Sep 20, 2012 at 11:45:46AM +0200, Linus Walleij wrote:
+	if ((termios->c_ispeed > max_baud) ||
+	    (termios->c_ospeed > max_baud)) {
+		dev_err(port->dev,
+			"requested a baud rate > clock/mindivisor\n");
+		return;
+	}
Why do we need this check?  In any case, this is incorrect behaviour
just to 'return' from this function without doing anything.  You just
produce an error message, and userspace believes that it's request
has been satisfied.

uart_get_baud_rate() is there precisely to do the right thing for invalid
baud rates, which is to fallback to the old termios setting (and update
the new termios with that) if the old termios setting satisifies the
limits, if not it falls back to something within the limited range.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help