Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1533654
| From | Lino Sanfilippo <LinoSanfilippo@gmx.de> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH 2/2] net: ethernet: altera: TSE: do not use tx queue lock in tx completion handler |
| Date | 2016-11-30 23:50 +0100 |
| Message-ID | <sJlRo-3GR-25@gated-at.bofh.it> (permalink) |
| References | <sJlRo-3GR-7@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
The driver already uses its private lock for synchronization between xmit
and xmit completion handler making the additional use of the xmit_lock
unnecessary.
Furthermore the driver does not set NETIF_F_LLTX resulting in xmit to be
called with the xmit_lock held and then taking the private lock while xmit
completion handler does the reverse, first take the private lock, then the
xmit_lock.
Fix these issues by not taking the xmit_lock in the tx completion handler.
Signed-off-by: Lino Sanfilippo <LinoSanfilippo@gmx.de>
---
drivers/net/ethernet/altera/altera_tse_main.c | 2 --
1 file changed, 2 deletions(-)
Please note that this is only compile tested since I do not have the
concerning hardware.
diff --git a/drivers/net/ethernet/altera/altera_tse_main.c b/drivers/net/ethernet/altera/altera_tse_main.c
index 16c4163..cddc532 100644
--- a/drivers/net/ethernet/altera/altera_tse_main.c
+++ b/drivers/net/ethernet/altera/altera_tse_main.c
@@ -463,7 +463,6 @@ static int tse_tx_complete(struct altera_tse_private *priv)
if (unlikely(netif_queue_stopped(priv->dev) &&
tse_tx_avail(priv) > TSE_TX_THRESH(priv))) {
- netif_tx_lock(priv->dev);
if (netif_queue_stopped(priv->dev) &&
tse_tx_avail(priv) > TSE_TX_THRESH(priv)) {
if (netif_msg_tx_done(priv))
@@ -471,7 +470,6 @@ static int tse_tx_complete(struct altera_tse_private *priv)
__func__);
netif_wake_queue(priv->dev);
}
- netif_tx_unlock(priv->dev);
}
spin_unlock(&priv->tx_lock);
--
2.7.4
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH 1/2] net: ethernet: altera: TSE: Remove unneeded dma sync for tx buffers Lino Sanfilippo <LinoSanfilippo@gmx.de> - 2016-11-30 23:50 +0100
[PATCH 2/2] net: ethernet: altera: TSE: do not use tx queue lock in tx completion handler Lino Sanfilippo <LinoSanfilippo@gmx.de> - 2016-11-30 23:50 +0100
Re: [PATCH 2/2] net: ethernet: altera: TSE: do not use tx queue lock in tx completion handler David Miller <davem@davemloft.net> - 2016-12-02 18:20 +0100
Re: [PATCH 1/2] net: ethernet: altera: TSE: Remove unneeded dma sync for tx buffers David Miller <davem@davemloft.net> - 2016-12-02 18:20 +0100
csiph-web