summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorMarc Kleine-Budde <mkl@pengutronix.de>2019-08-24 14:07:31 +0200
committerMarcel Ziswiler <marcel.ziswiler@toradex.com>2020-02-12 11:06:09 +0100
commitf94aa64e1b36490b150a63121eb1d1cd2a5fbce5 (patch)
tree461d7a0695bb6e71fecebeb69b429ed398557885 /drivers
parent4051587ccd228267169151813cc11efccaa41348 (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)
Diffstat (limited to 'drivers')
-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 */