Commit 50ff44be authored by Eric W. Biederman's avatar Eric W. Biederman Committed by David S. Miller

8139cp: 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
Acked-by: default avatarEric Dumazet <edumazet@google.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 310c4d4e
...@@ -476,7 +476,7 @@ static int cp_rx_poll(struct napi_struct *napi, int budget) ...@@ -476,7 +476,7 @@ static int cp_rx_poll(struct napi_struct *napi, int budget)
rx = 0; rx = 0;
cpw16(IntrStatus, cp_rx_intr_mask); cpw16(IntrStatus, cp_rx_intr_mask);
while (1) { while (rx < budget) {
u32 status, len; u32 status, len;
dma_addr_t mapping, new_mapping; dma_addr_t mapping, new_mapping;
struct sk_buff *skb, *new_skb; struct sk_buff *skb, *new_skb;
...@@ -554,9 +554,6 @@ static int cp_rx_poll(struct napi_struct *napi, int budget) ...@@ -554,9 +554,6 @@ static int cp_rx_poll(struct napi_struct *napi, int budget)
else else
desc->opts1 = cpu_to_le32(DescOwn | cp->rx_buf_sz); desc->opts1 = cpu_to_le32(DescOwn | cp->rx_buf_sz);
rx_tail = NEXT_RX(rx_tail); rx_tail = NEXT_RX(rx_tail);
if (rx >= budget)
break;
} }
cp->rx_tail = rx_tail; cp->rx_tail = rx_tail;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment