summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc Kleine-Budde <mkl@pengutronix.de>2019-08-24 14:07:31 +0200
committerMax Krummenacher <max.krummenacher@toradex.com>2019-12-02 14:22:41 +0100
commit24be9bc4f2facb5028fd5ef0e1f542575797d480 (patch)
tree037811cd0d80b1f9ebc4564f84067ff0e4b72f10
parent23d69b363c8a7c68eedfaeb6d1d8aa5ca6c1e4ab (diff)
can: mcp25xxfd: mcp25xxfd_can_tx_handle_int_tefif(): simplyfy function and add comments
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> (cherry picked from commit bd0713e14f8665ffaff2f17f6e0ac0b7fcaef902)
-rw-r--r--drivers/net/can/spi/mcp25xxfd/mcp25xxfd_can_tx.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/net/can/spi/mcp25xxfd/mcp25xxfd_can_tx.c b/drivers/net/can/spi/mcp25xxfd/mcp25xxfd_can_tx.c
index 50252d530725..84803ca2005d 100644
--- a/drivers/net/can/spi/mcp25xxfd/mcp25xxfd_can_tx.c
+++ b/drivers/net/can/spi/mcp25xxfd/mcp25xxfd_can_tx.c
@@ -407,13 +407,12 @@ int mcp25xxfd_can_tx_handle_int_tefif(struct mcp25xxfd_can_priv *cpriv)
MCP25XXFD_DEBUGFS_STATS_INCR(cpriv, int_tef_count);
+ /* compute finished fifos and clear them immediately
+ *
+ * bit in txreq == 0 means successfully sent
+ */
spin_lock_irqsave(&cpriv->fifos.tx_queue->lock, flags);
-
- /* compute finished fifos and clear them immediately */
- finished = (cpriv->fifos.tx_queue->in_can_transfer ^
- cpriv->status.txreq) &
- cpriv->fifos.tx_queue->in_can_transfer;
-
+ finished = ~cpriv->status.txreq & cpriv->fifos.tx_queue->in_can_transfer;
spin_unlock_irqrestore(&cpriv->fifos.tx_queue->lock, flags);
/* run in optimized mode if possible */