diff options
| -rw-r--r-- | drivers/net/mv643xx_eth.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/net/mv643xx_eth.c b/drivers/net/mv643xx_eth.c index fb6b232069d6..ab74d4583c41 100644 --- a/drivers/net/mv643xx_eth.c +++ b/drivers/net/mv643xx_eth.c | |||
| @@ -412,15 +412,13 @@ static int mv643xx_eth_receive_queue(struct net_device *dev) | |||
| 412 | struct pkt_info pkt_info; | 412 | struct pkt_info pkt_info; |
| 413 | 413 | ||
| 414 | #ifdef MV643XX_NAPI | 414 | #ifdef MV643XX_NAPI |
| 415 | while (eth_port_receive(mp, &pkt_info) == ETH_OK && budget > 0) { | 415 | while (budget-- > 0 && eth_port_receive(mp, &pkt_info) == ETH_OK) { |
| 416 | #else | 416 | #else |
| 417 | while (eth_port_receive(mp, &pkt_info) == ETH_OK) { | 417 | while (eth_port_receive(mp, &pkt_info) == ETH_OK) { |
| 418 | #endif | 418 | #endif |
| 419 | mp->rx_ring_skbs--; | 419 | mp->rx_ring_skbs--; |
| 420 | received_packets++; | 420 | received_packets++; |
| 421 | #ifdef MV643XX_NAPI | 421 | |
| 422 | budget--; | ||
| 423 | #endif | ||
| 424 | /* Update statistics. Note byte count includes 4 byte CRC count */ | 422 | /* Update statistics. Note byte count includes 4 byte CRC count */ |
| 425 | stats->rx_packets++; | 423 | stats->rx_packets++; |
| 426 | stats->rx_bytes += pkt_info.byte_cnt; | 424 | stats->rx_bytes += pkt_info.byte_cnt; |
