serial: samsung: enable clock before accessing interrupt mask resister
Ensure that the uart clock is enabled prior to writing to the interrupt mask register in s3c24xx_serial_resume_noirq function. Without enabing the uart clock, the uart register cannot be accessed. Signed-off-by: Youngmin Nam <youngmin.nam@samsung.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
5d1a2388ed
commit
a8a1781b87
|
@ -1916,6 +1916,7 @@ static int s3c24xx_serial_resume(struct device *dev)
|
||||||
static int s3c24xx_serial_resume_noirq(struct device *dev)
|
static int s3c24xx_serial_resume_noirq(struct device *dev)
|
||||||
{
|
{
|
||||||
struct uart_port *port = s3c24xx_dev_to_port(dev);
|
struct uart_port *port = s3c24xx_dev_to_port(dev);
|
||||||
|
struct s3c24xx_uart_port *ourport = to_ourport(port);
|
||||||
|
|
||||||
if (port) {
|
if (port) {
|
||||||
/* restore IRQ mask */
|
/* restore IRQ mask */
|
||||||
|
@ -1925,7 +1926,9 @@ static int s3c24xx_serial_resume_noirq(struct device *dev)
|
||||||
uintm &= ~S3C64XX_UINTM_TXD_MSK;
|
uintm &= ~S3C64XX_UINTM_TXD_MSK;
|
||||||
if (rx_enabled(port))
|
if (rx_enabled(port))
|
||||||
uintm &= ~S3C64XX_UINTM_RXD_MSK;
|
uintm &= ~S3C64XX_UINTM_RXD_MSK;
|
||||||
|
clk_prepare_enable(ourport->clk);
|
||||||
wr_regl(port, S3C64XX_UINTM, uintm);
|
wr_regl(port, S3C64XX_UINTM, uintm);
|
||||||
|
clk_disable_unprepare(ourport->clk);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue