Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ehea: Call dev_consume_skb_any instead of dev_kfree_skb.

Replace dev_kfree_skb with dev_consume_skb_any in functions that can
be called in hard irq and other contexts.

None of the locations was a packet drop so dev_kfree_skb_any is
inappropriate.

Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>

+3 -3
+3 -3
drivers/net/ethernet/ibm/ehea/ehea_main.c
··· 490 490 skb_arr[index] = skb; 491 491 tmp_addr = ehea_map_vaddr(skb->data); 492 492 if (tmp_addr == -1) { 493 - dev_kfree_skb(skb); 493 + dev_consume_skb_any(skb); 494 494 q_skba->os_skbs = fill_wqes - i; 495 495 ret = 0; 496 496 break; ··· 856 856 857 857 index = EHEA_BMASK_GET(EHEA_WR_ID_INDEX, cqe->wr_id); 858 858 skb = pr->sq_skba.arr[index]; 859 - dev_kfree_skb(skb); 859 + dev_consume_skb_any(skb); 860 860 pr->sq_skba.arr[index] = NULL; 861 861 } 862 862 ··· 2044 2044 skb_copy_bits(skb, 0, imm_data, skb->len); 2045 2045 2046 2046 swqe->immediate_data_length = skb->len; 2047 - dev_kfree_skb(skb); 2047 + dev_consume_skb_any(skb); 2048 2048 } 2049 2049 2050 2050 static int ehea_start_xmit(struct sk_buff *skb, struct net_device *dev)