lkml.org 
[lkml]   [2019]   [Mar]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.0 08/43] net: hns3: add dma_rmb() for rx description
    Date
    5.0-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Jian Shen <shenjian15@huawei.com>

    [ Upstream commit d394d33bee22421b39a0bcdc51ca6d68ba308625 ]

    HW can not guarantee complete write desc->rx.size, even though
    HNS3_RXD_VLD_B has been set. Driver needs to add dma_rmb()
    instruction to make sure desc->rx.size is always valid.

    Fixes: e55970950556 ("net: hns3: Add handling of GRO Pkts not fully RX'ed in NAPI poll")
    Signed-off-by: Jian Shen <shenjian15@huawei.com>
    Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/net/ethernet/hisilicon/hns3/hns3_enet.c | 2 ++
    1 file changed, 2 insertions(+)

    --- a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
    +++ b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
    @@ -2476,6 +2476,8 @@ static int hns3_add_frag(struct hns3_ene
    desc = &ring->desc[ring->next_to_clean];
    desc_cb = &ring->desc_cb[ring->next_to_clean];
    bd_base_info = le32_to_cpu(desc->rx.bd_base_info);
    + /* make sure HW write desc complete */
    + dma_rmb();
    if (!hnae3_get_bit(bd_base_info, HNS3_RXD_VLD_B))
    return -ENXIO;


    \
     
     \ /
      Last update: 2019-03-18 11:09    [W:2.413 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site