On 01/10/2018 11:55 AM, Faiz Abbas wrote:
With the version no longer required to allocate the net device, it can
be moved to probe and the alloc_m_can_dev() function can be simplified.
Therefore, move the allocation of net device to probe and change
alloc_m_can_dev() to setup_m_can_dev().
The error handling is broken with this patch,
Have a look at the switch (priv->version) in setup_m_can_dev(), you free
the m_can_dev in case of error, but exit with -EINVAL in the beginning
of the function. setup_m_can_dev() should not free if it doesn't allocate.
The error handling in m_can_plat_probe() is broken, too. If
pm_runtime_get_sync(&pdev->dev) fails, you don't free the candev.
Marc
--
Pengutronix e.K. | Marc Kleine-Budde |
Industrial Linux Solutions | Phone: +49-231-2826-924 |
Vertretung West/Dortmund | Fax: +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de |