Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5025ce07 authored by Tomi Valkeinen's avatar Tomi Valkeinen
Browse files

OMAPDSS: fix bogus WARN_ON in dss_runtime_put()



pm_runtime_put_sync() in dss_runtime_put() returns -EBUSY when any child
of dss is still enabled. This happens, for example, when a display
output is enabled and one dumps the clocks via debugfs. This causes
dss_runtime_get & put to be called.

While I couldn't find anything about this in the documentation and it
wasn't immediately clear from runtime_pm code, it looks to me that
pm_runtime_put_sync() returns -EBUSY to inform that things went fine,
but the device could not be turned off as there are still child devices
that are enabled. This is not a problem.

This patch skips the WARN_ON if pm_runtime_put_sync() returns -EBUSY.

Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
parent d1700f92
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -731,7 +731,7 @@ static void dss_runtime_put(void)
	DSSDBG("dss_runtime_put\n");

	r = pm_runtime_put_sync(&dss.pdev->dev);
	WARN_ON(r < 0);
	WARN_ON(r < 0 && r != -EBUSY);
}

/* DEBUGFS */