diff options
author | Joakim Zhang <qiangqing.zhang@nxp.com> | 2019-06-04 09:41:46 +0800 |
---|---|---|
committer | Dong Aisheng <aisheng.dong@nxp.com> | 2019-11-25 15:47:57 +0800 |
commit | f0fba896a3b6de07bdd1866b622458781251ff84 (patch) | |
tree | edee7545a1b333a74ea8c47787b8cd43fa63ca1f | |
parent | c79402071ae74826ce35cacf6d55b89fe614a7d9 (diff) |
MLK-22211 mxc: emvsim: should not clear PEF/FEF flag in irq handler
Shouldn't clear PEF/FEF flag in irq handler as they are just a flag which
can't trigger interrupt. And they will be check later in irq handler.
Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
Acked-by: Fugang Duan <fugang.duan@nxp.com>
-rw-r--r-- | drivers/mxc/sim/imx_emvsim.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/drivers/mxc/sim/imx_emvsim.c b/drivers/mxc/sim/imx_emvsim.c index 3e59e7aa053e..1b9207313d47 100644 --- a/drivers/mxc/sim/imx_emvsim.c +++ b/drivers/mxc/sim/imx_emvsim.c @@ -431,9 +431,6 @@ static int32_t emvsim_check_rec_data(u32 *reg_data) { s32 err = 0; - if (*reg_data & CWT_ERR) - err |= SIM_ERROR_CWT; - if (*reg_data & FEF) err |= SIM_ERROR_FRAME; @@ -571,7 +568,7 @@ static irqreturn_t emvsim_irq_handler(int irq, void *dev_id) /* clear TX/RX interrupt status, W1C*/ tx_status = __raw_readl(emvsim->ioaddr + EMV_SIM_TX_STATUS); - rx_status = __raw_readl(emvsim->ioaddr + EMV_SIM_RX_STATUS); + rx_status = __raw_readl(emvsim->ioaddr + EMV_SIM_RX_STATUS) & ~(PEF | FEF); __raw_writel(tx_status, emvsim->ioaddr + EMV_SIM_TX_STATUS); __raw_writel(rx_status, emvsim->ioaddr + EMV_SIM_RX_STATUS); |