msm_serial: fix clock rate on DMA-based uarts
authorDavid Brown <davidb@codeaurora.org>
Fri, 7 Sep 2012 21:45:03 +0000 (14:45 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 10 Sep 2012 23:33:36 +0000 (16:33 -0700)
The driver explicitly requests a clock rate for the UART, but it is
off by a factor of four from the dividers that it programs into the
UART.  Fix this by setting the rate to 1/4 of the current value.

Signed-off-by: David Brown <davidb@codeaurora.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/msm_serial.c

index 8131e2c28015432ea3be3fc41b6206f3102fd98b..033e0bc9ebabccb30e33ea0d4d24947dcff48661 100644 (file)
@@ -896,7 +896,7 @@ static int __init msm_serial_probe(struct platform_device *pdev)
                        return PTR_ERR(msm_port->clk);
 
        if (msm_port->is_uartdm)
-               clk_set_rate(msm_port->clk, 7372800);
+               clk_set_rate(msm_port->clk, 1843200);
 
        port->uartclk = clk_get_rate(msm_port->clk);
        printk(KERN_INFO "uartclk = %d\n", port->uartclk);