Explorar o código

fs_enet: Don't receive packets when the napi budget == 0

Processing any incoming packets with a with a napi budget of 0
is incorrect driver behavior.

This matters as netpoll will shortly call drivers with a budget of 0
to avoid receive packet processing happening in hard irq context.

Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Eric W. Biederman %!s(int64=11) %!d(string=hai) anos
pai
achega
9b2c05713e
Modificáronse 1 ficheiros con 3 adicións e 0 borrados
  1. 3 0
      drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c

+ 3 - 0
drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c

@@ -91,6 +91,9 @@ static int fs_enet_rx_napi(struct napi_struct *napi, int budget)
 	u16 pkt_len, sc;
 	u16 pkt_len, sc;
 	int curidx;
 	int curidx;
 
 
+	if (budget <= 0)
+		return received;
+
 	/*
 	/*
 	 * First, grab all of the stats for the incoming packet.
 	 * First, grab all of the stats for the incoming packet.
 	 * These get messed up if we get called due to a busy condition.
 	 * These get messed up if we get called due to a busy condition.