mirror of
https://github.com/torvalds/linux.git
synced 2024-11-16 00:52:01 +00:00
spi: core: Fix spi_register_master error handling
In the case spi_master_initialize_queue() fails, current code calls device_unregister() before return error from spi_register_master(). However, all the drivers call spi_master_put() in the error path if spi_register_master() fails. Thus we should call device_del() rather than device_unregister() before return error from spi_register_master(). This also makes all the spi_register_master() error handling consistent, because all other error paths of spi_register_master() expect drivers to call spi_master_put() if spi_register_master() fails. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Mark Brown <broonie@linaro.org>
This commit is contained in:
parent
96b3eace39
commit
e93b07244d
@ -1169,7 +1169,7 @@ int spi_register_master(struct spi_master *master)
|
||||
else {
|
||||
status = spi_master_initialize_queue(master);
|
||||
if (status) {
|
||||
device_unregister(&master->dev);
|
||||
device_del(&master->dev);
|
||||
goto done;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user