]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
can: ems_usb: ems_usb_start_xmit(): fix double dev_kfree_skb() in error path
authorHangyu Hua <hbh25y@gmail.com>
Mon, 28 Feb 2022 08:36:39 +0000 (16:36 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 8 Apr 2022 12:39:51 +0000 (14:39 +0200)
commit c70222752228a62135cee3409dccefd494a24646 upstream.

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

Link: https://lore.kernel.org/all/20220228083639.38183-1-hbh25y@gmail.com
Fixes: 702171adeed3 ("ems_usb: Added support for EMS CPC-USB/ARM7 CAN/USB interface")
Cc: stable@vger.kernel.org
Cc: Sebastian Haas <haas@ems-wuensche.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/ems_usb.c

index 249d2fba28c7f4d18fab66ea7346967c77dbb4cb..6458da9c13b95500422a0beb364839db1f094122 100644 (file)
@@ -823,7 +823,6 @@ static netdev_tx_t ems_usb_start_xmit(struct sk_buff *skb, struct net_device *ne
 
                usb_unanchor_urb(urb);
                usb_free_coherent(dev->udev, size, buf, urb->transfer_dma);
-               dev_kfree_skb(skb);
 
                atomic_dec(&dev->active_tx_urbs);