summaryrefslogtreecommitdiff
path: root/drivers/tty
diff options
context:
space:
mode:
authorKiran Gunda <kgunda@codeaurora.org>2014-01-24 13:02:12 +0530
committerDilip Kota <c_dkota@codeaurora.org>2014-03-11 14:05:17 +0530
commit7b29dca636d7f8ec31157382e26c514ca7f79249 (patch)
tree947d32d283a35cd6b23d79e4f759108fd18420e2 /drivers/tty
parent5f318d6ea59608913a7935252c83feacd9218381 (diff)
msm_serial_hs: Manage UART irq in clock on/clock off
XO shutdown doesn't happen as long as the uart port is kept open even though uart clocks are switched off. This is because the uart core interrupt is configured in port open and free'd in port close. To avoid this issue uart irq is disabled and enabled in clock off and clock on respectively. CRs-Fixed: 606931 Change-Id: I8a8b733b860bfc373fc38c9550955d571d3a70bf Signed-off-by: Kiran Gunda <kgunda@codeaurora.org> Signed-off-by: Dilip Kota <c_dkota@codeaurora.org>
Diffstat (limited to 'drivers/tty')
-rw-r--r--drivers/tty/serial/msm_serial_hs.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/tty/serial/msm_serial_hs.c b/drivers/tty/serial/msm_serial_hs.c
index 2ad8d40b3293..647535d60213 100644
--- a/drivers/tty/serial/msm_serial_hs.c
+++ b/drivers/tty/serial/msm_serial_hs.c
@@ -2205,6 +2205,7 @@ static int msm_hs_check_clock_off(struct uart_port *uport)
msm_uport->wakeup.ignore = 1;
enable_irq(msm_uport->wakeup.irq);
}
+ disable_irq(uport->irq);
wake_unlock(&msm_uport->dma_wake_lock);
spin_unlock_irqrestore(&uport->lock, flags);
@@ -2399,6 +2400,7 @@ void msm_hs_request_clock_on(struct uart_port *uport)
mutex_lock(&msm_uport->clk_mutex);
spin_lock_irqsave(&uport->lock, flags);
+ enable_irq(uport->irq);
if (msm_uport->clk_state == MSM_HS_CLK_REQUEST_OFF) {
/* Pulling RFR line high */