Re: [PATCH v2] tty: serial: msm_serial.c: Cleaning up uninitialized variables
From: Rickard Strandqvist
Date: Wed Jul 09 2014 - 17:02:01 EST
2014-07-09 20:02 GMT+02:00 Stephen Boyd <sboyd@xxxxxxxxxxxxxx>:
> On 07/06/14 09:47, Rickard Strandqvist wrote:
>> Set reasonable initial value of some variables, in case
>> they do not get set to something otherwise.
>> And I've also added a plausibility control of the values.
>>
>> Signed-off-by: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx>
>> ---
>
> This patch doesn't look right...
>
>> @@ -930,17 +930,21 @@ static int __init msm_console_setup(struct console *co, char *options)
>>
>> msm_init_clock(port);
>>
>> - if (options)
>> + if (options) {
>> uart_parse_options(options, &baud, &parity, &bits, &flow);
>> + if (baud < 300 || baud > 115200)
>> + baud = 115200;
>> + if (NULL == strchr("noeNOE", parity))
>> + parity = 'n';
>> + if (bits != 7)
>> + bits = 8;
>> + if (flow != 'r')
>> + flow = 'n';
>> + }
>>
>> - bits = 8;
>> - parity = 'n';
>> - flow = 'n';
>> msm_write(port, UART_MR2_BITS_PER_CHAR_8 | UART_MR2_STOP_BIT_LEN_ONE,
>> UART_MR2); /* 8N1 */
>>
>
> because this code is overriding whatever is parsed from
> uart_parse_options() on purpose. The hardware is configured for 8 bits,
> no parity, no flow control with this msm_write() statement. Maybe we
> should extend the code to configure the parity and flow control bits
> instead.
Hi
Okay, well that explains the strange code.
Maybe there should be a comment about this?
You mean that UART_MR2_BITS_PER_CHAR_8 | UART_MR2_STOP_BIT_LEN_ONE is
set correctly for the msm_write function?
I can do that...
Regardless, the original error whas that baud could be used uninitialized.
Kind regards
Rickard Strandqvist
--
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/