From 14442a55ded305b2c80c83b94342932a5020a250 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Fri, 12 Mar 2021 15:02:35 +0100 Subject: [PATCH] 4.14-stable patches added patches: drm-meson_drv-add-shutdown-function.patch s390-cio-return-efault-if-copy_to_user-fails-take-2.patch --- .../drm-meson_drv-add-shutdown-function.patch | 73 +++++++++++++++++++ ...-efault-if-copy_to_user-fails-take-2.patch | 28 +++++++ queue-4.14/series | 2 + 3 files changed, 103 insertions(+) create mode 100644 queue-4.14/drm-meson_drv-add-shutdown-function.patch create mode 100644 queue-4.14/s390-cio-return-efault-if-copy_to_user-fails-take-2.patch diff --git a/queue-4.14/drm-meson_drv-add-shutdown-function.patch b/queue-4.14/drm-meson_drv-add-shutdown-function.patch new file mode 100644 index 00000000000..03ca8062970 --- /dev/null +++ b/queue-4.14/drm-meson_drv-add-shutdown-function.patch @@ -0,0 +1,73 @@ +From fa0c16caf3d73ab4d2e5d6fa2ef2394dbec91791 Mon Sep 17 00:00:00 2001 +From: Artem Lapkin +Date: Tue, 2 Mar 2021 12:22:02 +0800 +Subject: drm: meson_drv add shutdown function + +From: Artem Lapkin + +commit fa0c16caf3d73ab4d2e5d6fa2ef2394dbec91791 upstream. + +Problem: random stucks on reboot stage about 1/20 stuck/reboots +// debug kernel log +[ 4.496660] reboot: kernel restart prepare CMD:(null) +[ 4.498114] meson_ee_pwrc c883c000.system-controller:power-controller: shutdown begin +[ 4.503949] meson_ee_pwrc c883c000.system-controller:power-controller: shutdown domain 0:VPU... +...STUCK... + +Solution: add shutdown function to meson_drm driver +// debug kernel log +[ 5.231896] reboot: kernel restart prepare CMD:(null) +[ 5.246135] [drm:meson_drv_shutdown] +... +[ 5.259271] meson_ee_pwrc c883c000.system-controller:power-controller: shutdown begin +[ 5.274688] meson_ee_pwrc c883c000.system-controller:power-controller: shutdown domain 0:VPU... +[ 5.338331] reboot: Restarting system +[ 5.358293] psci: PSCI_0_2_FN_SYSTEM_RESET reboot_mode:0 cmd:(null) +bl31 reboot reason: 0xd +bl31 reboot reason: 0x0 +system cmd 1. +...REBOOT... + +Tested: on VIM1 VIM2 VIM3 VIM3L khadas sbcs - 1000+ successful reboots +and Odroid boards, WeTek Play2 (GXBB) + +Fixes: bbbe775ec5b5 ("drm: Add support for Amlogic Meson Graphic Controller") +Signed-off-by: Artem Lapkin +Tested-by: Christian Hewitt +Acked-by: Neil Armstrong +Acked-by: Kevin Hilman +Signed-off-by: Neil Armstrong +Link: https://patchwork.freedesktop.org/patch/msgid/20210302042202.3728113-1-art@khadas.com +Signed-off-by: Maarten Lankhorst +Signed-off-by: Greg Kroah-Hartman +--- + drivers/gpu/drm/meson/meson_drv.c | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +--- a/drivers/gpu/drm/meson/meson_drv.c ++++ b/drivers/gpu/drm/meson/meson_drv.c +@@ -361,6 +361,16 @@ static int meson_probe_remote(struct pla + return count; + } + ++static void meson_drv_shutdown(struct platform_device *pdev) ++{ ++ struct meson_drm *priv = dev_get_drvdata(&pdev->dev); ++ struct drm_device *drm = priv->drm; ++ ++ DRM_DEBUG_DRIVER("\n"); ++ drm_kms_helper_poll_fini(drm); ++ drm_atomic_helper_shutdown(drm); ++} ++ + static int meson_drv_probe(struct platform_device *pdev) + { + struct component_match *match = NULL; +@@ -405,6 +415,7 @@ MODULE_DEVICE_TABLE(of, dt_match); + + static struct platform_driver meson_drm_platform_driver = { + .probe = meson_drv_probe, ++ .shutdown = meson_drv_shutdown, + .driver = { + .name = "meson-drm", + .of_match_table = dt_match, diff --git a/queue-4.14/s390-cio-return-efault-if-copy_to_user-fails-take-2.patch b/queue-4.14/s390-cio-return-efault-if-copy_to_user-fails-take-2.patch new file mode 100644 index 00000000000..f40ebafbfa8 --- /dev/null +++ b/queue-4.14/s390-cio-return-efault-if-copy_to_user-fails-take-2.patch @@ -0,0 +1,28 @@ +From d9c48a948d29bcb22f4fe61a81b718ef6de561a0 Mon Sep 17 00:00:00 2001 +From: Eric Farman +Date: Mon, 1 Mar 2021 19:33:24 +0100 +Subject: s390/cio: return -EFAULT if copy_to_user() fails + +From: Eric Farman + +commit d9c48a948d29bcb22f4fe61a81b718ef6de561a0 upstream. + +Fixes: 120e214e504f ("vfio: ccw: realize VFIO_DEVICE_G(S)ET_IRQ_INFO ioctls") +Signed-off-by: Eric Farman +Signed-off-by: Heiko Carstens +Signed-off-by: Greg Kroah-Hartman +--- + drivers/s390/cio/vfio_ccw_ops.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/s390/cio/vfio_ccw_ops.c ++++ b/drivers/s390/cio/vfio_ccw_ops.c +@@ -383,7 +383,7 @@ static ssize_t vfio_ccw_mdev_ioctl(struc + if (info.count == -1) + return -EINVAL; + +- return copy_to_user((void __user *)arg, &info, minsz); ++ return copy_to_user((void __user *)arg, &info, minsz) ? -EFAULT : 0; + } + case VFIO_DEVICE_SET_IRQS: + { diff --git a/queue-4.14/series b/queue-4.14/series index da0d1461460..1c979326198 100644 --- a/queue-4.14/series +++ b/queue-4.14/series @@ -25,3 +25,5 @@ net-stmmac-stop-each-tx-channel-independently.patch perf-traceevent-ensure-read-cmdlines-are-null-terminated.patch s390-cio-return-efault-if-copy_to_user-fails.patch drm-compat-clear-bounce-structures.patch +drm-meson_drv-add-shutdown-function.patch +s390-cio-return-efault-if-copy_to_user-fails-take-2.patch -- 2.47.3