From ee2c656b3eb98bc426ffb27e4d3d1479de7028d9 Mon Sep 17 00:00:00 2001 From: Tan Nguyen Date: Tue, 29 Jan 2019 15:41:03 +0700 Subject: rcar-gen3: linux-renesas: WORKAROUND to fix kernel crash This commit applies a patch to fix kernel crash during FULL HD playback. Signed-off-by: Tan Nguyen Signed-off-by: Takamitsu Honda --- .../bugfix-crash-during-Full-HD-playback.patch | 37 ++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 meta-rcar-gen3/recipes-kernel/linux/linux-renesas/bugfix-crash-during-Full-HD-playback.patch (limited to 'meta-rcar-gen3/recipes-kernel/linux/linux-renesas/bugfix-crash-during-Full-HD-playback.patch') diff --git a/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/bugfix-crash-during-Full-HD-playback.patch b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/bugfix-crash-during-Full-HD-playback.patch new file mode 100644 index 0000000..0d87d44 --- /dev/null +++ b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/bugfix-crash-during-Full-HD-playback.patch @@ -0,0 +1,37 @@ +From b4b3ac9b2bdd5c234251bcf9f843cb972f8c06cf Mon Sep 17 00:00:00 2001 +From: Vitaliy Vasylskyy +Date: Mon, 17 Dec 2018 15:36:17 +0200 +Subject: [PATCH] bugfix: crash during Full HD playback + +This fixes issue with kernel crash during Full HD playback. +Loop variable was used twice by mistake, so only plane 0 was +handled properly, and crash happened when plane 1 was in use. + +Jira-Id: ADM-2589 + +Change-Id: I52b69906a10646f5a95220ebced8d3a437ccc89a +Signed-off-by: Vitaliy Vasylskyy +--- + +diff --git a/drivers/gpu/drm/rcar-du/rcar_du_vsp.c b/drivers/gpu/drm/rcar-du/rcar_du_vsp.c +index db32c20..26309fe 100644 +--- a/drivers/gpu/drm/rcar-du/rcar_du_vsp.c ++++ b/drivers/gpu/drm/rcar-du/rcar_du_vsp.c +@@ -227,7 +227,7 @@ + struct rcar_du_vsp_plane_state *rstate = to_rcar_vsp_plane_state(state); + struct rcar_du_vsp *vsp = to_rcar_vsp_plane(plane)->vsp; + struct rcar_du_device *rcdu = vsp->dev; +- unsigned int i; ++ unsigned int i, j; + int ret; + + /* +@@ -260,7 +260,7 @@ + + src = gem->sgt->sgl; + dst = sgt->sgl; +- for (i = 0; i < gem->sgt->orig_nents; ++i) { ++ for (j = 0; j < gem->sgt->orig_nents; ++j) { + sg_set_page(dst, sg_page(src), src->length, + src->offset); + src = sg_next(src); -- cgit 1.2.3-korg