diff --git a/drivers/net/can/usb/etas_es58x/es58x_core.c b/drivers/net/can/usb/etas_es58x/es58x_core.c index f799233c2b72..8a8764374713 100644 --- a/drivers/net/can/usb/etas_es58x/es58x_core.c +++ b/drivers/net/can/usb/etas_es58x/es58x_core.c @@ -1783,8 +1783,9 @@ static int es58x_open(struct net_device *netdev) if (!es58x_dev->opened_channel_cnt) { ret = es58x_alloc_rx_urbs(es58x_dev); + /* can fail partially */ if (ret) - return ret; + goto free_urbs; ret = es58x_set_realtime_diff_ns(es58x_dev); if (ret)