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>
Fri, 8 Apr 2022 12:24:09 +0000 (14:24 +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 a1a154c08b7f7f77dd0df05aaf34418a1fc26055..0cf5c6d5e9e4ab6057e4504610874e92cf32f203 100644 (file)
@@ -368,7 +368,6 @@ static netdev_tx_t mcba_usb_start_xmit(struct sk_buff *skb,
 xmit_failed:
        can_free_echo_skb(priv->netdev, ctx->ndx, NULL);
        mcba_usb_free_ctx(ctx);
-       dev_kfree_skb(skb);
        stats->tx_dropped++;
 
        return NETDEV_TX_OK;