lkml.org 
[lkml]   [2018]   [May]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.16 066/272] ibmvnic: Zero used TX descriptor counter on reset
    Date
    4.16-stable review patch.  If anyone has any objections, please let me know.

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

    From: Thomas Falcon <tlfalcon@linux.vnet.ibm.com>

    [ Upstream commit 41f714672f93608751dbd2fa2291d476a8ff0150 ]

    The counter that tracks used TX descriptors pending completion
    needs to be zeroed as part of a device reset. This change fixes
    a bug causing transmit queues to be stopped unnecessarily and in
    some cases a transmit queue stall and timeout reset. If the counter
    is not reset, the remaining descriptors will not be "removed",
    effectively reducing queue capacity. If the queue is over half full,
    it will cause the queue to stall if stopped.

    Signed-off-by: Thomas Falcon <tlfalcon@linux.vnet.ibm.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/net/ethernet/ibm/ibmvnic.c | 1 +
    1 file changed, 1 insertion(+)

    --- a/drivers/net/ethernet/ibm/ibmvnic.c
    +++ b/drivers/net/ethernet/ibm/ibmvnic.c
    @@ -2266,6 +2266,7 @@ static int reset_one_sub_crq_queue(struc
    }

    memset(scrq->msgs, 0, 4 * PAGE_SIZE);
    + atomic_set(&scrq->used, 0);
    scrq->cur = 0;

    rc = h_reg_sub_crq(adapter->vdev->unit_address, scrq->msg_token,

    \
     
     \ /
      Last update: 2018-05-28 14:02    [W:4.080 / U:0.524 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site