Commit 9737070c authored by Jisheng Zhang's avatar Jisheng Zhang Committed by David S. Miller

net: stmmac: Switch to devm_alloc_etherdev_mqs

Make use of devm_alloc_etherdev_mqs() to simplify the code.
Signed-off-by: default avatarJisheng Zhang <Jisheng.Zhang@synaptics.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 621ccc6c
...@@ -4243,9 +4243,8 @@ int stmmac_dvr_probe(struct device *device, ...@@ -4243,9 +4243,8 @@ int stmmac_dvr_probe(struct device *device,
u32 queue, maxq; u32 queue, maxq;
int ret = 0; int ret = 0;
ndev = alloc_etherdev_mqs(sizeof(struct stmmac_priv), ndev = devm_alloc_etherdev_mqs(device, sizeof(struct stmmac_priv),
MTL_MAX_TX_QUEUES, MTL_MAX_TX_QUEUES, MTL_MAX_RX_QUEUES);
MTL_MAX_RX_QUEUES);
if (!ndev) if (!ndev)
return -ENOMEM; return -ENOMEM;
...@@ -4277,8 +4276,7 @@ int stmmac_dvr_probe(struct device *device, ...@@ -4277,8 +4276,7 @@ int stmmac_dvr_probe(struct device *device,
priv->wq = create_singlethread_workqueue("stmmac_wq"); priv->wq = create_singlethread_workqueue("stmmac_wq");
if (!priv->wq) { if (!priv->wq) {
dev_err(priv->device, "failed to create workqueue\n"); dev_err(priv->device, "failed to create workqueue\n");
ret = -ENOMEM; return -ENOMEM;
goto error_wq;
} }
INIT_WORK(&priv->service_task, stmmac_service_task); INIT_WORK(&priv->service_task, stmmac_service_task);
...@@ -4434,8 +4432,6 @@ int stmmac_dvr_probe(struct device *device, ...@@ -4434,8 +4432,6 @@ int stmmac_dvr_probe(struct device *device,
} }
error_hw_init: error_hw_init:
destroy_workqueue(priv->wq); destroy_workqueue(priv->wq);
error_wq:
free_netdev(ndev);
return ret; return ret;
} }
...@@ -4472,7 +4468,6 @@ int stmmac_dvr_remove(struct device *dev) ...@@ -4472,7 +4468,6 @@ int stmmac_dvr_remove(struct device *dev)
stmmac_mdio_unregister(ndev); stmmac_mdio_unregister(ndev);
destroy_workqueue(priv->wq); destroy_workqueue(priv->wq);
mutex_destroy(&priv->lock); mutex_destroy(&priv->lock);
free_netdev(ndev);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment