mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-29 22:02:02 +00:00
can: etas_es58x: es58x_init_netdev(): free netdev when register_candev()
[ Upstream commit709cb2f9ed
] In case of register_candev() fails, clear es58x_dev->netdev[channel_idx] and add free_candev(). Otherwise es58x_free_netdevs() will unregister the netdev that has never been registered. Fixes:8537257874
("can: etas_es58x: add core support for ETAS ES58X CAN USB interfaces") Signed-off-by: Zhang Changzhong <zhangchangzhong@huawei.com> Acked-by: Arunachalam Santhanam <Arunachalam.Santhanam@in.bosch.com> Acked-by: Vincent Mailhol <mailhol.vincent@wanadoo.fr> Link: https://lore.kernel.org/all/1668413685-23354-1-git-send-email-zhangchangzhong@huawei.com Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
260122778b
commit
d44fd8bdfc
1 changed files with 4 additions and 1 deletions
|
@ -2091,8 +2091,11 @@ static int es58x_init_netdev(struct es58x_device *es58x_dev, int channel_idx)
|
|||
netdev->dev_port = channel_idx;
|
||||
|
||||
ret = register_candev(netdev);
|
||||
if (ret)
|
||||
if (ret) {
|
||||
es58x_dev->netdev[channel_idx] = NULL;
|
||||
free_candev(netdev);
|
||||
return ret;
|
||||
}
|
||||
|
||||
netdev_queue_set_dql_min_limit(netdev_get_tx_queue(netdev, 0),
|
||||
es58x_dev->param->dql_min_limit);
|
||||
|
|
Loading…
Reference in a new issue