HSU DMA interrupt might happen during HSU suspending
authorBin Yang <bin.yang@intel.com>
Tue, 22 May 2012 02:21:16 +0000 (10:21 +0800)
committerbuildbot <buildbot@intel.com>
Wed, 23 May 2012 13:23:31 +0000 (06:23 -0700)
BZ: 37758

HSU DMA interrupt is shared for all ports. So it is always
enabled during HSU port suspending. If TX is pending on this
port, it might trigger TX after suspend.

Change-Id: I288023543e06b6cd9312327d94c99b95dad1664f
Signed-off-by: Bin Yang <bin.yang@intel.com>
Reviewed-on: http://android.intel.com:8080/49585
Reviewed-by: Du, Alek <alek.du@intel.com>
Tested-by: Tang, HaifengX <haifengx.tang@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
drivers/tty/serial/mfd.c

index 2a93275..0dbc9bc 100644 (file)
@@ -935,7 +935,7 @@ static inline void dma_chan_irq(struct hsu_dma_chan *chan)
         */
        int_sts = chan_readl(chan, HSU_CH_SR);
 
-       if (!up->use_dma || !up->running)
+       if (!up->use_dma || !up->running || !hsu_port_is_active(up))
                goto exit;
 
        /* Rx channel */