Messages in this thread | | | Date | Sun, 4 Jan 2009 12:16:52 +0000 | From | Alan Cox <> | Subject | Re: [PATCH] Winchiphead 340/1: full baud rate and status/control line support |
| |
> + if (factor > 0xfff0) { /* Clamp */ > + factor = 0xfff0; > + divisor = 0; > + } > + > + t1 = factor; > + for (t2 = divisor; t2 <= CH341_BAUDBASE_DIVMAX; t2++) > + t1 >>= 3; > + baud = CH341_BAUDBASE_FACTOR / t1; > +
Same question as before: Can baud really become zero at this point ? Also for that matter what guarantees that t1 cannot become zero in this computation ?
> + if (baud && tty) > + tty_encode_baud_rate(tty, baud, baud);
The check for B0 (hangup) was done earlier (see set_termios). So if you can end up with a requested baud rate being turned into 0 you need to bump it up to 1. If not you don't need the test.
| |