Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b1dd9ca1 authored by Dale Farnsworth's avatar Dale Farnsworth Committed by Jeff Garzik
Browse files

[PATCH] mv643xx: fix skb memory leak



This patch fixes an skb memory leak under heavy receive load
(whenever the more packets have been received than the NAPI budget
allows to be processed).

Signed-off-by: default avatarDale Farnsworth <dale@farnsworth.org>
Signed-off-by: default avatarJeff Garzik <jgarzik@pobox.com>
parent e797637f
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -412,15 +412,13 @@ static int mv643xx_eth_receive_queue(struct net_device *dev)
	struct pkt_info pkt_info;

#ifdef MV643XX_NAPI
	while (eth_port_receive(mp, &pkt_info) == ETH_OK && budget > 0) {
	while (budget-- > 0 && eth_port_receive(mp, &pkt_info) == ETH_OK) {
#else
	while (eth_port_receive(mp, &pkt_info) == ETH_OK) {
#endif
		mp->rx_ring_skbs--;
		received_packets++;
#ifdef MV643XX_NAPI
		budget--;
#endif

		/* Update statistics. Note byte count includes 4 byte CRC count */
		stats->rx_packets++;
		stats->rx_bytes += pkt_info.byte_cnt;