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>
This commit is contained in:
Родитель
374e29da7c
Коммит
cfbe406307
|
@ -490,7 +490,7 @@ static int ehea_refill_rq_def(struct ehea_port_res *pr,
|
|||
skb_arr[index] = skb;
|
||||
tmp_addr = ehea_map_vaddr(skb->data);
|
||||
if (tmp_addr == -1) {
|
||||
dev_kfree_skb(skb);
|
||||
dev_consume_skb_any(skb);
|
||||
q_skba->os_skbs = fill_wqes - i;
|
||||
ret = 0;
|
||||
break;
|
||||
|
@ -856,7 +856,7 @@ static struct ehea_cqe *ehea_proc_cqes(struct ehea_port_res *pr, int my_quota)
|
|||
|
||||
index = EHEA_BMASK_GET(EHEA_WR_ID_INDEX, cqe->wr_id);
|
||||
skb = pr->sq_skba.arr[index];
|
||||
dev_kfree_skb(skb);
|
||||
dev_consume_skb_any(skb);
|
||||
pr->sq_skba.arr[index] = NULL;
|
||||
}
|
||||
|
||||
|
@ -2044,7 +2044,7 @@ static void ehea_xmit3(struct sk_buff *skb, struct net_device *dev,
|
|||
skb_copy_bits(skb, 0, imm_data, skb->len);
|
||||
|
||||
swqe->immediate_data_length = skb->len;
|
||||
dev_kfree_skb(skb);
|
||||
dev_consume_skb_any(skb);
|
||||
}
|
||||
|
||||
static int ehea_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||
|
|
Загрузка…
Ссылка в новой задаче