@@ -311,12 +311,10 @@ static int arc_emac_poll(struct napi_struct *napi, int budget)
311
311
struct arc_emac_priv * priv = netdev_priv (ndev );
312
312
unsigned int work_done ;
313
313
314
- arc_emac_tx_clean (ndev );
315
-
316
314
work_done = arc_emac_rx (ndev , budget );
317
315
if (work_done < budget ) {
318
316
napi_complete (napi );
319
- arc_reg_or (priv , R_ENABLE , RXINT_MASK | TXINT_MASK );
317
+ arc_reg_or (priv , R_ENABLE , RXINT_MASK );
320
318
}
321
319
322
320
return work_done ;
@@ -345,9 +343,9 @@ static irqreturn_t arc_emac_intr(int irq, void *dev_instance)
345
343
/* Reset all flags except "MDIO complete" */
346
344
arc_reg_set (priv , R_STATUS , status );
347
345
348
- if (status & ( RXINT_MASK | TXINT_MASK ) ) {
346
+ if (status & RXINT_MASK ) {
349
347
if (likely (napi_schedule_prep (& priv -> napi ))) {
350
- arc_reg_clr (priv , R_ENABLE , RXINT_MASK | TXINT_MASK );
348
+ arc_reg_clr (priv , R_ENABLE , RXINT_MASK );
351
349
__napi_schedule (& priv -> napi );
352
350
}
353
351
}
@@ -461,7 +459,7 @@ static int arc_emac_open(struct net_device *ndev)
461
459
arc_reg_set (priv , R_TX_RING , (unsigned int )priv -> txbd_dma );
462
460
463
461
/* Enable interrupts */
464
- arc_reg_set (priv , R_ENABLE , RXINT_MASK | TXINT_MASK | ERR_MASK );
462
+ arc_reg_set (priv , R_ENABLE , RXINT_MASK | ERR_MASK );
465
463
466
464
/* Set CONTROL */
467
465
arc_reg_set (priv , R_CTRL ,
@@ -594,7 +592,7 @@ static int arc_emac_stop(struct net_device *ndev)
594
592
netif_stop_queue (ndev );
595
593
596
594
/* Disable interrupts */
597
- arc_reg_clr (priv , R_ENABLE , RXINT_MASK | TXINT_MASK | ERR_MASK );
595
+ arc_reg_clr (priv , R_ENABLE , RXINT_MASK | ERR_MASK );
598
596
599
597
/* Disable EMAC */
600
598
arc_reg_clr (priv , R_CTRL , EN_MASK );
@@ -656,6 +654,8 @@ static int arc_emac_tx(struct sk_buff *skb, struct net_device *ndev)
656
654
__le32 * info = & priv -> txbd [* txbd_curr ].info ;
657
655
dma_addr_t addr ;
658
656
657
+ arc_emac_tx_clean (ndev );
658
+
659
659
if (skb_padto (skb , ETH_ZLEN ))
660
660
return NETDEV_TX_OK ;
661
661
0 commit comments