mirror of
https://github.com/torvalds/linux.git
synced 2024-12-14 23:25:54 +00:00
fbdev: da8xx-fb: Fix error handling in .remove()
Even in the presence of problems (here: regulator_disable() might fail),
it's important to unregister all resources acquired during .probe() and
disable the device (i.e. DMA activity) because even if .remove() returns
an error code, the device is removed and the .remove() callback is never
called again later to catch up.
This is a preparation for making platform remove callbacks return void.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Helge Deller <deller@gmx.de>
Fixes: 611097d5da
("fbdev: da8xx: add support for a regulator")
This commit is contained in:
parent
25b72d530e
commit
3c6174f9ff
@ -1076,7 +1076,8 @@ static int fb_remove(struct platform_device *dev)
|
||||
if (par->lcd_supply) {
|
||||
ret = regulator_disable(par->lcd_supply);
|
||||
if (ret)
|
||||
return ret;
|
||||
dev_warn(&dev->dev, "Failed to disable regulator (%pe)\n",
|
||||
ERR_PTR(ret));
|
||||
}
|
||||
|
||||
lcd_disable_raster(DA8XX_FRAME_WAIT);
|
||||
|
Loading…
Reference in New Issue
Block a user