diff options
-rw-r--r-- | drivers/net/igb/igb_main.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/igb/igb_main.c b/drivers/net/igb/igb_main.c index 9911b3aaed3a..0cab5e2b0894 100644 --- a/drivers/net/igb/igb_main.c +++ b/drivers/net/igb/igb_main.c | |||
@@ -4952,6 +4952,7 @@ static bool igb_clean_rx_irq_adv(struct igb_q_vector *q_vector, | |||
4952 | struct sk_buff *skb; | 4952 | struct sk_buff *skb; |
4953 | bool cleaned = false; | 4953 | bool cleaned = false; |
4954 | int cleaned_count = 0; | 4954 | int cleaned_count = 0; |
4955 | int current_node = numa_node_id(); | ||
4955 | unsigned int total_bytes = 0, total_packets = 0; | 4956 | unsigned int total_bytes = 0, total_packets = 0; |
4956 | unsigned int i; | 4957 | unsigned int i; |
4957 | u32 staterr; | 4958 | u32 staterr; |
@@ -5006,7 +5007,8 @@ static bool igb_clean_rx_irq_adv(struct igb_q_vector *q_vector, | |||
5006 | buffer_info->page_offset, | 5007 | buffer_info->page_offset, |
5007 | length); | 5008 | length); |
5008 | 5009 | ||
5009 | if (page_count(buffer_info->page) != 1) | 5010 | if ((page_count(buffer_info->page) != 1) || |
5011 | (page_to_nid(buffer_info->page) != current_node)) | ||
5010 | buffer_info->page = NULL; | 5012 | buffer_info->page = NULL; |
5011 | else | 5013 | else |
5012 | get_page(buffer_info->page); | 5014 | get_page(buffer_info->page); |