lkml.org 
[lkml]   [2020]   [Jun]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.19 140/267] net: allwinner: Fix use correct return type for ndo_start_xmit()
    Date
    From: Yunjian Wang <wangyunjian@huawei.com>

    [ Upstream commit 09f6c44aaae0f1bdb8b983d7762676d5018c53bc ]

    The method ndo_start_xmit() returns a value of type netdev_tx_t. Fix
    the ndo function to use the correct type. And emac_start_xmit() can
    leak one skb if 'channel' == 3.

    Signed-off-by: Yunjian Wang <wangyunjian@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/ethernet/allwinner/sun4i-emac.c | 4 ++--
    1 file changed, 2 insertions(+), 2 deletions(-)

    diff --git a/drivers/net/ethernet/allwinner/sun4i-emac.c b/drivers/net/ethernet/allwinner/sun4i-emac.c
    index 3143de45baaa..c458b81ba63a 100644
    --- a/drivers/net/ethernet/allwinner/sun4i-emac.c
    +++ b/drivers/net/ethernet/allwinner/sun4i-emac.c
    @@ -433,7 +433,7 @@ static void emac_timeout(struct net_device *dev)
    /* Hardware start transmission.
    * Send a packet to media from the upper layer.
    */
    -static int emac_start_xmit(struct sk_buff *skb, struct net_device *dev)
    +static netdev_tx_t emac_start_xmit(struct sk_buff *skb, struct net_device *dev)
    {
    struct emac_board_info *db = netdev_priv(dev);
    unsigned long channel;
    @@ -441,7 +441,7 @@ static int emac_start_xmit(struct sk_buff *skb, struct net_device *dev)

    channel = db->tx_fifo_stat & 3;
    if (channel == 3)
    - return 1;
    + return NETDEV_TX_BUSY;

    channel = (channel == 1 ? 1 : 0);

    --
    2.25.1


    \
     
     \ /
      Last update: 2020-06-19 18:24    [W:4.063 / U:0.148 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site