提交 a339e184 编写于 作者: A Alexander Aring 提交者: Marcel Holtmann

mrf24j40: calling ieee802154_register_hw at last

The function ieee802154_register_hw should always called at last.
Currently we do hardware init and such things after register hardware
into the subsystem. It could be that the subsystem already call driver
operations while running hardware init.
Reviewed-by: NStefan Schmidt <stefan@osg.samsung.com>
Signed-off-by: NAlexander Aring <alex.aring@gmail.com>
Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
上级 b2cfdf3c
......@@ -753,14 +753,9 @@ static int mrf24j40_probe(struct spi_device *spi)
mutex_init(&devrec->buffer_mutex);
init_completion(&devrec->tx_complete);
dev_dbg(printdev(devrec), "registered mrf24j40\n");
ret = ieee802154_register_hw(devrec->hw);
if (ret)
goto err_register_device;
ret = mrf24j40_hw_init(devrec);
if (ret)
goto err_hw_init;
goto err_register_device;
ret = devm_request_threaded_irq(&spi->dev,
spi->irq,
......@@ -772,14 +767,16 @@ static int mrf24j40_probe(struct spi_device *spi)
if (ret) {
dev_err(printdev(devrec), "Unable to get IRQ");
goto err_irq;
goto err_register_device;
}
dev_dbg(printdev(devrec), "registered mrf24j40\n");
ret = ieee802154_register_hw(devrec->hw);
if (ret)
goto err_register_device;
return 0;
err_irq:
err_hw_init:
ieee802154_unregister_hw(devrec->hw);
err_register_device:
ieee802154_free_hw(devrec->hw);
err_ret:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册