can: mcba_usb: mcba_usb_start_xmit(): fix double dev_kfree_skb in error path
authorHangyu Hua <hbh25y@gmail.com>
Fri, 11 Mar 2022 08:02:08 +0000 (16:02 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 20 Apr 2022 07:08:24 +0000 (09:08 +0200)
commit 04c9b00ba83594a29813d6b1fb8fdc93a3915174 upstream.

There is no need to call dev_kfree_skb() when usb_submit_urb() fails
because can_put_echo_skb() deletes original skb and
can_free_echo_skb() deletes the cloned skb.

Fixes: 51f3baad7de9 ("can: mcba_usb: Add support for Microchip CAN BUS Analyzer")
Link: https://lore.kernel.org/all/20220311080208.45047-1-hbh25y@gmail.com
Signed-off-by: Hangyu Hua <hbh25y@gmail.com>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/can/usb/mcba_usb.c

index 9e43fbb4cc9d78a7a2bd45fb2672f1b387ecded2..3e6b76fe0cbf8755e4a607d6d420a31e9fc6279c 100644 (file)
@@ -379,7 +379,6 @@ static netdev_tx_t mcba_usb_start_xmit(struct sk_buff *skb,
 xmit_failed:
        can_free_echo_skb(priv->netdev, ctx->ndx);
        mcba_usb_free_ctx(ctx);
-       dev_kfree_skb(skb);
        stats->tx_dropped++;
 
        return NETDEV_TX_OK;