summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrancois Romieu <romieu@fr.zoreil.com>2008-01-10 23:53:15 +0100
committerFrancois Romieu <romieu@fr.zoreil.com>2008-01-17 23:35:09 +0100
commit47cccd7d7cc1f2b6f34aadc9041fb991c6293cdd (patch)
treed9565c4dc690c5c2ff91b5b75159addda7ff8807
parentdafdec746f8c468bebf6b99f32a392ee6c8d0212 (diff)
downloadop-kernel-dev-47cccd7d7cc1f2b6f34aadc9041fb991c6293cdd.zip
op-kernel-dev-47cccd7d7cc1f2b6f34aadc9041fb991c6293cdd.tar.gz
ipg: fix Tx completion irq request
The current logic will only request an ack for the first pending packet. No irq is triggered as soon as the CPU submits a few packets a bit quickly. Let's request an irq for every packet instead. Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
-rw-r--r--drivers/net/ipg.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/drivers/net/ipg.c b/drivers/net/ipg.c
index b234b29..50f0c17 100644
--- a/drivers/net/ipg.c
+++ b/drivers/net/ipg.c
@@ -1934,10 +1934,7 @@ static int ipg_nic_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
*/
if (sp->tenmbpsmode)
txfd->tfc |= cpu_to_le64(IPG_TFC_TXINDICATE);
- else if (!((sp->tx_current - sp->tx_dirty + 1) >
- IPG_FRAMESBETWEENTXDMACOMPLETES)) {
- txfd->tfc |= cpu_to_le64(IPG_TFC_TXDMAINDICATE);
- }
+ txfd->tfc |= cpu_to_le64(IPG_TFC_TXDMAINDICATE);
/* Based on compilation option, determine if FCS is to be
* appended to transmit frame by IPG.
*/
OpenPOWER on IntegriCloud