]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
drm/mcde: Fix stability issue
authorLinus Walleij <linus.walleij@linaro.org>
Sat, 18 Jul 2020 23:33:22 +0000 (01:33 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 5 Aug 2020 07:58:38 +0000 (09:58 +0200)
commitc71d5b14b2dbece82940b55e5e08da9e9a7f47c3
tree0667cc6a31309dc13dbc213b777a6baac8a752b5
parentfd8af57d844359cc9da8b0c6d70ca078e5371453
drm/mcde: Fix stability issue

commit aa7bf898d4bf921f61fab078040e8baec3f28126 upstream.

Whenever a display update was sent, apart from updating
the memory base address, we called mcde_display_send_one_frame()
which also sent a command to the display requesting the TE IRQ
and enabling the FIFO.

When continuous updates are running this is wrong: we need
to only send this to start the flow to the display on
the very first update. This lead to the display pipeline
locking up and crashing.

Check if the flow is already running and in that case
do not call mcde_display_send_one_frame().

This fixes crashes on the Samsung GT-S7710 (Skomer).

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Acked-by: Stephan Gerhold <stephan@gerhold.net>
Cc: Stephan Gerhold <stephan@gerhold.net>
Cc: stable@vger.kernel.org
Link: https://patchwork.freedesktop.org/patch/msgid/20200718233323.3407670-1-linus.walleij@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/mcde/mcde_display.c