Commit 4dd836e4 authored by Mark A. Greer's avatar Mark A. Greer Committed by Samuel Ortiz

NFC: trf7970a: Reset FIFO when 'End of TX' Interrupt Occurs

Sometimes after sending a frame there is tx data leftover in the FIFO
which the driver will think is part of the receive frame. That data can
be cleared when an 'End of TX' interrupt is received by issuing the
'FIFO Reset' command.
Signed-off-by: default avatarMark A. Greer <mgreer@animalcreek.com>
Signed-off-by: default avatarSamuel Ortiz <sameo@linux.intel.com>
parent b887eb09
...@@ -681,7 +681,9 @@ static irqreturn_t trf7970a_irq(int irq, void *dev_id) ...@@ -681,7 +681,9 @@ static irqreturn_t trf7970a_irq(int irq, void *dev_id)
trf->ignore_timeout = trf->ignore_timeout =
!cancel_delayed_work(&trf->timeout_work); !cancel_delayed_work(&trf->timeout_work);
trf7970a_drain_fifo(trf, status); trf7970a_drain_fifo(trf, status);
} else if (!(status & TRF7970A_IRQ_STATUS_TX)) { } else if (status == TRF7970A_IRQ_STATUS_TX) {
trf7970a_cmd(trf, TRF7970A_CMD_FIFO_RESET);
} else {
trf7970a_send_err_upstream(trf, -EIO); trf7970a_send_err_upstream(trf, -EIO);
} }
break; break;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment