lkml.org 
[lkml]   [2019]   [Feb]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 4.19 77/83] dpaa_eth: NETIF_F_LLTX requires to do our own update of trans_start
    Date
    From: Madalin Bucur <madalin.bucur@nxp.com>

    [ Upstream commit c6ddfb9a963f0cac0f7365acfc87f3f3b33a3b69 ]

    As txq_trans_update() only updates trans_start when the lock is held,
    trans_start does not get updated if NETIF_F_LLTX is declared.

    Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | 6 ++++++
    1 file changed, 6 insertions(+)

    diff --git a/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c b/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
    index 65a22cd9aef2..029730bbe7db 100644
    --- a/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
    +++ b/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
    @@ -2052,6 +2052,7 @@ static int dpaa_start_xmit(struct sk_buff *skb, struct net_device *net_dev)
    bool nonlinear = skb_is_nonlinear(skb);
    struct rtnl_link_stats64 *percpu_stats;
    struct dpaa_percpu_priv *percpu_priv;
    + struct netdev_queue *txq;
    struct dpaa_priv *priv;
    struct qm_fd fd;
    int offset = 0;
    @@ -2101,6 +2102,11 @@ static int dpaa_start_xmit(struct sk_buff *skb, struct net_device *net_dev)
    if (unlikely(err < 0))
    goto skb_to_fd_failed;

    + txq = netdev_get_tx_queue(net_dev, queue_mapping);
    +
    + /* LLTX requires to do our own update of trans_start */
    + txq->trans_start = jiffies;
    +
    if (priv->tx_tstamp && skb_shinfo(skb)->tx_flags & SKBTX_HW_TSTAMP) {
    fd.cmd |= cpu_to_be32(FM_FD_CMD_UPD);
    skb_shinfo(skb)->tx_flags |= SKBTX_IN_PROGRESS;
    --
    2.19.1
    \
     
     \ /
      Last update: 2019-02-13 03:50    [W:4.057 / U:0.784 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site