Somehow I missed that ipuv3_fb_shutdown() can be called for inactive
devices, resulting in invalid memory access and preventing the kernel
from booting.

Fixes: 32da6773f62 ("video: imx: ipuv3: refactor to use dm-managed state")
Signed-off-by: Brian Ruley <[email protected]>
---

Changes in v2:
- New

 arch/arm/mach-imx/cpu.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/arm/mach-imx/cpu.c b/arch/arm/mach-imx/cpu.c
index 20c741283cd..8af45e14707 100644
--- a/arch/arm/mach-imx/cpu.c
+++ b/arch/arm/mach-imx/cpu.c
@@ -310,7 +310,8 @@ void arch_preboot_os(void)
        /* disable video before launching O/S */
        rc = uclass_find_first_device(UCLASS_VIDEO, &dev);
        while (!rc && dev) {
-               ipuv3_fb_shutdown(dev);
+               if (device_active(dev))
+                       ipuv3_fb_shutdown(dev);
                uclass_find_next_device(&dev);
        }
 #endif
-- 
2.39.5

Reply via email to