• Jian Shen's avatar
    net: hns3: fix tx timeout issue · 61a1deac
    Jian Shen authored
    Currently, the driver knocks the ring doorbell before updating
    the ring->last_to_use in tx flow. if the hardware transmiting
    packet and napi poll scheduling are fast enough, it may get
    the old ring->last_to_use in drivers' napi poll.
    In this case, the driver will think the tx is not completed, and
    return directly without clear the flag __QUEUE_STATE_STACK_XOFF,
    which may cause tx timeout.
    
    Fixes: 20d06ca2 ("net: hns3: optimize the tx clean process")
    Signed-off-by: default avatarJian Shen <shenjian15@huawei.com>
    Signed-off-by: default avatarJijie Shao <shaojijie@huawei.com>
    Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
    61a1deac
hns3_enet.c 158 KB