aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry Osipenko <digetx@gmail.com>2018-05-29 18:41:06 -0400
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>2018-06-05 09:49:24 -0400
commitf956aec08d2b989dcf4699c15de8cd465929b750 (patch)
treeafb6067146d75a48423eba63a3178b1bef646e03
parentfc6c19fb712dea1580f7eb1a7b207522d2cf6f6f (diff)
media: staging: tegra-vde: Reset VDE regardless of memory client resetting failure
A failed memory client reset doesn't prevent VDE from resetting, hence reset VDE regardless of preceding memory client resetting failure. Signed-off-by: Dmitry Osipenko <digetx@gmail.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
-rw-r--r--drivers/staging/media/tegra-vde/tegra-vde.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/drivers/staging/media/tegra-vde/tegra-vde.c b/drivers/staging/media/tegra-vde/tegra-vde.c
index 6dd3bf4481be..6f06061a40d9 100644
--- a/drivers/staging/media/tegra-vde/tegra-vde.c
+++ b/drivers/staging/media/tegra-vde/tegra-vde.c
@@ -901,15 +901,12 @@ static int tegra_vde_ioctl_decode_h264(struct tegra_vde *vde,
901 * the whole system. 901 * the whole system.
902 */ 902 */
903 err = reset_control_assert(vde->rst_mc); 903 err = reset_control_assert(vde->rst_mc);
904 if (!err) { 904 if (err)
905 err = reset_control_assert(vde->rst);
906 if (err)
907 dev_err(dev,
908 "DEC end: Failed to assert HW reset: %d\n",
909 err);
910 } else {
911 dev_err(dev, "DEC end: Failed to assert MC reset: %d\n", err); 905 dev_err(dev, "DEC end: Failed to assert MC reset: %d\n", err);
912 } 906
907 err = reset_control_assert(vde->rst);
908 if (err)
909 dev_err(dev, "DEC end: Failed to assert HW reset: %d\n", err);
913 910
914put_runtime_pm: 911put_runtime_pm:
915 pm_runtime_mark_last_busy(dev); 912 pm_runtime_mark_last_busy(dev);