On Wed, 16 Oct 2019 15:17:10 +0800, Huazhong Tan wrote: > From: Yunsheng Lin <linyunsh...@huawei.com> > > Currently, napi_alloc_skb() is used to allocate skb for fraglist > when the head skb is not enough to hold the remaining data, and > the remaining data is added to the frags part of the fraglist skb, > leaving the linear part unused. > > So this patch passes length of 0 to allocate fraglist skb with > zero size of linear data. > > Fixes: 81ae0e0491f3 ("net: hns3: Add skb chain when num of RX buf exceeds > MAX_SKB_FRAGS") > Signed-off-by: Yunsheng Lin <linyunsh...@huawei.com> > Signed-off-by: Huazhong Tan <tanhuazh...@huawei.com>
Is this really a fix? I just wastes memory, right? > diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c > b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c > index 6172eb2..14111af 100644 > --- a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c > +++ b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c > @@ -2866,8 +2866,7 @@ static int hns3_add_frag(struct hns3_enet_ring *ring, > struct hns3_desc *desc, > return -ENXIO; > > if (unlikely(ring->frag_num >= MAX_SKB_FRAGS)) { > - new_skb = napi_alloc_skb(&ring->tqp_vector->napi, > - HNS3_RX_HEAD_SIZE); > + new_skb = napi_alloc_skb(&ring->tqp_vector->napi, 0); > if (unlikely(!new_skb)) { > hns3_rl_err(ring_to_netdev(ring), > "alloc rx fraglist skb fail\n");