From 09652704a8135d2d3b8a910a4cb0714f77b344e1 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Sat, 25 Nov 2023 15:51:29 +0000 Subject: [PATCH] drop a bunch of broken patches --- ...-power-soft-off-when-running-on-qemu.patch | 48 ---------- ...-power-soft-off-when-running-on-qemu.patch | 31 ------- ...of-swapper_pg_dir-and-invalid_pg_dir.patch | 45 --------- ...kernel-address-space-page-table-walk.patch | 69 -------------- queue-4.14/series | 4 - ...-power-soft-off-when-running-on-qemu.patch | 48 ---------- ...-power-soft-off-when-running-on-qemu.patch | 31 ------- ...of-swapper_pg_dir-and-invalid_pg_dir.patch | 2 +- ...kernel-address-space-page-table-walk.patch | 69 -------------- ...ove-redundant-initialization-of-vari.patch | 9 +- ...-platform_get_irq-to-get-the-interru.patch | 15 +-- queue-4.19/series | 4 - ...eson-fix-hard-lockup-on-crtscts-mode.patch | 17 ++-- ...eson-retrieve-port-fifo-size-from-dt.patch | 13 +-- ...-migrate-meson_uart-to-use-has_sysrq.patch | 56 ----------- ...-power-soft-off-when-running-on-qemu.patch | 48 ---------- ...-power-soft-off-when-running-on-qemu.patch | 31 ------- ...ortify-source-warnings-in-opal-prd.c.patch | 92 ------------------- ...of-swapper_pg_dir-and-invalid_pg_dir.patch | 2 +- ...kernel-address-space-page-table-walk.patch | 69 -------------- queue-5.10/series | 4 - ...-power-soft-off-when-running-on-qemu.patch | 48 ---------- ...-power-soft-off-when-running-on-qemu.patch | 31 ------- ...s390-cmma-fix-detection-of-dat-pages.patch | 2 +- ...of-swapper_pg_dir-and-invalid_pg_dir.patch | 2 +- ...kernel-address-space-page-table-walk.patch | 69 -------------- queue-5.15/series | 3 - ...-power-soft-off-when-running-on-qemu.patch | 48 ---------- ...-power-soft-off-when-running-on-qemu.patch | 31 ------- ...of-swapper_pg_dir-and-invalid_pg_dir.patch | 2 +- ...kernel-address-space-page-table-walk.patch | 69 -------------- ...ove-redundant-initialization-of-vari.patch | 9 +- ...-platform_get_irq-to-get-the-interru.patch | 15 +-- queue-5.4/series | 4 - ...eson-fix-hard-lockup-on-crtscts-mode.patch | 17 ++-- ...eson-retrieve-port-fifo-size-from-dt.patch | 13 +-- ...-migrate-meson_uart-to-use-has_sysrq.patch | 56 ----------- 37 files changed, 39 insertions(+), 1087 deletions(-) delete mode 100644 queue-4.14/parisc-power-add-power-soft-off-when-running-on-qemu.patch delete mode 100644 queue-4.14/parisc-power-fix-power-soft-off-when-running-on-qemu.patch delete mode 100644 queue-4.14/s390-cmma-fix-handling-of-swapper_pg_dir-and-invalid_pg_dir.patch delete mode 100644 queue-4.14/s390-cmma-fix-initial-kernel-address-space-page-table-walk.patch delete mode 100644 queue-4.19/parisc-power-add-power-soft-off-when-running-on-qemu.patch delete mode 100644 queue-4.19/parisc-power-fix-power-soft-off-when-running-on-qemu.patch delete mode 100644 queue-4.19/s390-cmma-fix-initial-kernel-address-space-page-table-walk.patch delete mode 100644 queue-4.19/tty-serial-migrate-meson_uart-to-use-has_sysrq.patch delete mode 100644 queue-5.10/parisc-power-add-power-soft-off-when-running-on-qemu.patch delete mode 100644 queue-5.10/parisc-power-fix-power-soft-off-when-running-on-qemu.patch delete mode 100644 queue-5.10/powerpc-powernv-fix-fortify-source-warnings-in-opal-prd.c.patch delete mode 100644 queue-5.10/s390-cmma-fix-initial-kernel-address-space-page-table-walk.patch delete mode 100644 queue-5.15/parisc-power-add-power-soft-off-when-running-on-qemu.patch delete mode 100644 queue-5.15/parisc-power-fix-power-soft-off-when-running-on-qemu.patch delete mode 100644 queue-5.15/s390-cmma-fix-initial-kernel-address-space-page-table-walk.patch delete mode 100644 queue-5.4/parisc-power-add-power-soft-off-when-running-on-qemu.patch delete mode 100644 queue-5.4/parisc-power-fix-power-soft-off-when-running-on-qemu.patch delete mode 100644 queue-5.4/s390-cmma-fix-initial-kernel-address-space-page-table-walk.patch delete mode 100644 queue-5.4/tty-serial-migrate-meson_uart-to-use-has_sysrq.patch diff --git a/queue-4.14/parisc-power-add-power-soft-off-when-running-on-qemu.patch b/queue-4.14/parisc-power-add-power-soft-off-when-running-on-qemu.patch deleted file mode 100644 index 3cc8ec037ab..00000000000 --- a/queue-4.14/parisc-power-add-power-soft-off-when-running-on-qemu.patch +++ /dev/null @@ -1,48 +0,0 @@ -From d0c219472980d15f5cbc5c8aec736848bda3f235 Mon Sep 17 00:00:00 2001 -From: Helge Deller -Date: Tue, 17 Oct 2023 22:19:53 +0200 -Subject: parisc/power: Add power soft-off when running on qemu - -From: Helge Deller - -commit d0c219472980d15f5cbc5c8aec736848bda3f235 upstream. - -Signed-off-by: Helge Deller -Cc: stable@vger.kernel.org # v6.0+ -Signed-off-by: Greg Kroah-Hartman ---- - drivers/parisc/power.c | 16 +++++++++++++++- - 1 file changed, 15 insertions(+), 1 deletion(-) - ---- a/drivers/parisc/power.c -+++ b/drivers/parisc/power.c -@@ -193,6 +193,14 @@ static struct notifier_block parisc_pani - .priority = INT_MAX, - }; - -+/* qemu soft power-off function */ -+static int qemu_power_off(struct sys_off_data *data) -+{ -+ /* this turns the system off via SeaBIOS */ -+ *(int *)data->cb_data = 0; -+ pdc_soft_power_button(1); -+ return NOTIFY_DONE; -+} - - static int __init power_init(void) - { -@@ -222,7 +230,13 @@ static int __init power_init(void) - soft_power_reg); - } - -- power_task = kthread_run(kpowerswd, (void*)soft_power_reg, KTHREAD_NAME); -+ power_task = NULL; -+ if (running_on_qemu && soft_power_reg) -+ register_sys_off_handler(SYS_OFF_MODE_POWER_OFF, SYS_OFF_PRIO_DEFAULT, -+ qemu_power_off, (void *)soft_power_reg); -+ else -+ power_task = kthread_run(kpowerswd, (void*)soft_power_reg, -+ KTHREAD_NAME); - if (IS_ERR(power_task)) { - printk(KERN_ERR DRIVER_NAME ": thread creation failed. Driver not loaded.\n"); - pdc_soft_power_button(0); diff --git a/queue-4.14/parisc-power-fix-power-soft-off-when-running-on-qemu.patch b/queue-4.14/parisc-power-fix-power-soft-off-when-running-on-qemu.patch deleted file mode 100644 index 90aa9a74f36..00000000000 --- a/queue-4.14/parisc-power-fix-power-soft-off-when-running-on-qemu.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 6ad6e15a9c46b8f0932cd99724f26f3db4db1cdf Mon Sep 17 00:00:00 2001 -From: Helge Deller -Date: Fri, 17 Nov 2023 16:43:52 +0100 -Subject: parisc/power: Fix power soft-off when running on qemu - -From: Helge Deller - -commit 6ad6e15a9c46b8f0932cd99724f26f3db4db1cdf upstream. - -Firmware returns the physical address of the power switch, -so need to use gsc_writel() instead of direct memory access. - -Fixes: d0c219472980 ("parisc/power: Add power soft-off when running on qemu") -Signed-off-by: Helge Deller -Cc: stable@vger.kernel.org # v6.0+ -Signed-off-by: Greg Kroah-Hartman ---- - drivers/parisc/power.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/parisc/power.c -+++ b/drivers/parisc/power.c -@@ -197,7 +197,7 @@ static struct notifier_block parisc_pani - static int qemu_power_off(struct sys_off_data *data) - { - /* this turns the system off via SeaBIOS */ -- *(int *)data->cb_data = 0; -+ gsc_writel(0, (unsigned long) data->cb_data); - pdc_soft_power_button(1); - return NOTIFY_DONE; - } diff --git a/queue-4.14/s390-cmma-fix-handling-of-swapper_pg_dir-and-invalid_pg_dir.patch b/queue-4.14/s390-cmma-fix-handling-of-swapper_pg_dir-and-invalid_pg_dir.patch deleted file mode 100644 index 0ab403e9821..00000000000 --- a/queue-4.14/s390-cmma-fix-handling-of-swapper_pg_dir-and-invalid_pg_dir.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 84bb41d5df48868055d159d9247b80927f1f70f9 Mon Sep 17 00:00:00 2001 -From: Heiko Carstens -Date: Tue, 24 Oct 2023 10:15:20 +0200 -Subject: s390/cmma: fix handling of swapper_pg_dir and invalid_pg_dir - -From: Heiko Carstens - -commit 84bb41d5df48868055d159d9247b80927f1f70f9 upstream. - -If the cmma no-dat feature is available the kernel page tables are walked -to identify and mark all pages which are used for address translation (all -region, segment, and page tables). In a subsequent loop all other pages are -marked as "no-dat" pages with the ESSA instruction. - -This information is visible to the hypervisor, so that the hypervisor can -optimize purging of guest TLB entries. All pages used for swapper_pg_dir -and invalid_pg_dir are incorrectly marked as no-dat, which in turn can -result in incorrect guest TLB flushes. - -Fix this by marking those pages correctly as being used for DAT. - -Cc: -Reviewed-by: Claudio Imbrenda -Signed-off-by: Heiko Carstens -Signed-off-by: Vasily Gorbik -Signed-off-by: Greg Kroah-Hartman ---- - arch/s390/mm/page-states.c | 6 ++++++ - 1 file changed, 6 insertions(+) - ---- a/arch/s390/mm/page-states.c -+++ b/arch/s390/mm/page-states.c -@@ -204,6 +204,12 @@ void __init cmma_init_nodat(void) - return; - /* Mark pages used in kernel page tables */ - mark_kernel_pgd(); -+ page = virt_to_page(&swapper_pg_dir); -+ for (i = 0; i < 4; i++) -+ set_bit(PG_arch_1, &page[i].flags); -+ page = virt_to_page(&invalid_pg_dir); -+ for (i = 0; i < 4; i++) -+ set_bit(PG_arch_1, &page[i].flags); - - /* Set all kernel pages not used for page tables to stable/no-dat */ - for_each_memblock(memory, reg) { diff --git a/queue-4.14/s390-cmma-fix-initial-kernel-address-space-page-table-walk.patch b/queue-4.14/s390-cmma-fix-initial-kernel-address-space-page-table-walk.patch deleted file mode 100644 index 4881f314214..00000000000 --- a/queue-4.14/s390-cmma-fix-initial-kernel-address-space-page-table-walk.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 16ba44826a04834d3eeeda4b731c2ea3481062b7 Mon Sep 17 00:00:00 2001 -From: Heiko Carstens -Date: Tue, 17 Oct 2023 21:07:03 +0200 -Subject: s390/cmma: fix initial kernel address space page table walk - -From: Heiko Carstens - -commit 16ba44826a04834d3eeeda4b731c2ea3481062b7 upstream. - -If the cmma no-dat feature is available the kernel page tables are walked -to identify and mark all pages which are used for address translation (all -region, segment, and page tables). In a subsequent loop all other pages are -marked as "no-dat" pages with the ESSA instruction. - -This information is visible to the hypervisor, so that the hypervisor can -optimize purging of guest TLB entries. The initial loop however does not -cover the complete kernel address space. This can result in pages being -marked as not being used for dynamic address translation, even though they -are. In turn guest TLB entries incorrectly may not be purged. - -Fix this by adjusting the end address of the kernel address range being -walked. - -Cc: -Reviewed-by: Claudio Imbrenda -Reviewed-by: Alexander Gordeev -Signed-off-by: Heiko Carstens -Signed-off-by: Vasily Gorbik -Signed-off-by: Greg Kroah-Hartman ---- - arch/s390/mm/page-states.c | 13 ++++++++++--- - 1 file changed, 10 insertions(+), 3 deletions(-) - ---- a/arch/s390/mm/page-states.c -+++ b/arch/s390/mm/page-states.c -@@ -167,15 +167,22 @@ static void mark_kernel_p4d(pgd_t *pgd, - - static void mark_kernel_pgd(void) - { -- unsigned long addr, next; -+ unsigned long addr, next, max_addr; - struct page *page; - pgd_t *pgd; - int i; - - addr = 0; -+ /* -+ * Figure out maximum virtual address accessible with the -+ * kernel ASCE. This is required to keep the page table walker -+ * from accessing non-existent entries. -+ */ -+ max_addr = (S390_lowcore.kernel_asce.val & _ASCE_TYPE_MASK) >> 2; -+ max_addr = 1UL << (max_addr * 11 + 31); - pgd = pgd_offset_k(addr); - do { -- next = pgd_addr_end(addr, MODULES_END); -+ next = pgd_addr_end(addr, max_addr); - if (pgd_none(*pgd)) - continue; - if (!pgd_folded(*pgd)) { -@@ -184,7 +191,7 @@ static void mark_kernel_pgd(void) - set_bit(PG_arch_1, &page[i].flags); - } - mark_kernel_p4d(pgd, addr, next); -- } while (pgd++, addr = next, addr != MODULES_END); -+ } while (pgd++, addr = next, addr != max_addr); - } - - void __init cmma_init_nodat(void) diff --git a/queue-4.14/series b/queue-4.14/series index c420d52b732..42be79e26d3 100644 --- a/queue-4.14/series +++ b/queue-4.14/series @@ -31,7 +31,6 @@ audit-don-t-take-task_lock-in-audit_exe_compare-code-path.patch audit-don-t-warn_on_once-current-mm-in-audit_exe_compare.patch hvc-xen-fix-error-path-in-xen_hvc_init-to-always-register-frontend-driver.patch pci-sysfs-protect-driver-s-d3cold-preference-from-user-space.patch -parisc-power-add-power-soft-off-when-running-on-qemu.patch mmc-vub300-fix-an-error-code.patch pm-hibernate-use-__get_safe_page-rather-than-touching-the-list.patch pm-hibernate-clean-up-sync_read-handling-in-snapshot_write_next.patch @@ -39,11 +38,8 @@ mmc-meson-gx-remove-setting-of-cmd_cfg_error.patch genirq-generic_chip-make-irq_remove_generic_chip-irqdomain-aware.patch jbd2-fix-potential-data-lost-in-recovering-journal-raced-with-synchronizing-fs-bdev.patch mcb-fix-error-handling-for-different-scenarios-when-parsing.patch -s390-cmma-fix-initial-kernel-address-space-page-table-walk.patch -s390-cmma-fix-handling-of-swapper_pg_dir-and-invalid_pg_dir.patch parisc-prevent-booting-64-bit-kernels-on-pa1.x-machines.patch parisc-pgtable-do-not-drop-upper-5-address-bits-of-physical-address.patch -parisc-power-fix-power-soft-off-when-running-on-qemu.patch alsa-info-fix-potential-deadlock-at-disconnection.patch net-dsa-lan9303-consequently-nested-lock-physical-mdio.patch i2c-i801-fix-potential-race-in-i801_block_transaction_byte_by_byte.patch diff --git a/queue-4.19/parisc-power-add-power-soft-off-when-running-on-qemu.patch b/queue-4.19/parisc-power-add-power-soft-off-when-running-on-qemu.patch deleted file mode 100644 index db7d7ecb7e9..00000000000 --- a/queue-4.19/parisc-power-add-power-soft-off-when-running-on-qemu.patch +++ /dev/null @@ -1,48 +0,0 @@ -From d0c219472980d15f5cbc5c8aec736848bda3f235 Mon Sep 17 00:00:00 2001 -From: Helge Deller -Date: Tue, 17 Oct 2023 22:19:53 +0200 -Subject: parisc/power: Add power soft-off when running on qemu - -From: Helge Deller - -commit d0c219472980d15f5cbc5c8aec736848bda3f235 upstream. - -Signed-off-by: Helge Deller -Cc: stable@vger.kernel.org # v6.0+ -Signed-off-by: Greg Kroah-Hartman ---- - drivers/parisc/power.c | 16 +++++++++++++++- - 1 file changed, 15 insertions(+), 1 deletion(-) - ---- a/drivers/parisc/power.c -+++ b/drivers/parisc/power.c -@@ -192,6 +192,14 @@ static struct notifier_block parisc_pani - .priority = INT_MAX, - }; - -+/* qemu soft power-off function */ -+static int qemu_power_off(struct sys_off_data *data) -+{ -+ /* this turns the system off via SeaBIOS */ -+ *(int *)data->cb_data = 0; -+ pdc_soft_power_button(1); -+ return NOTIFY_DONE; -+} - - static int __init power_init(void) - { -@@ -221,7 +229,13 @@ static int __init power_init(void) - soft_power_reg); - } - -- power_task = kthread_run(kpowerswd, (void*)soft_power_reg, KTHREAD_NAME); -+ power_task = NULL; -+ if (running_on_qemu && soft_power_reg) -+ register_sys_off_handler(SYS_OFF_MODE_POWER_OFF, SYS_OFF_PRIO_DEFAULT, -+ qemu_power_off, (void *)soft_power_reg); -+ else -+ power_task = kthread_run(kpowerswd, (void*)soft_power_reg, -+ KTHREAD_NAME); - if (IS_ERR(power_task)) { - printk(KERN_ERR DRIVER_NAME ": thread creation failed. Driver not loaded.\n"); - pdc_soft_power_button(0); diff --git a/queue-4.19/parisc-power-fix-power-soft-off-when-running-on-qemu.patch b/queue-4.19/parisc-power-fix-power-soft-off-when-running-on-qemu.patch deleted file mode 100644 index 1ed60ef366d..00000000000 --- a/queue-4.19/parisc-power-fix-power-soft-off-when-running-on-qemu.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 6ad6e15a9c46b8f0932cd99724f26f3db4db1cdf Mon Sep 17 00:00:00 2001 -From: Helge Deller -Date: Fri, 17 Nov 2023 16:43:52 +0100 -Subject: parisc/power: Fix power soft-off when running on qemu - -From: Helge Deller - -commit 6ad6e15a9c46b8f0932cd99724f26f3db4db1cdf upstream. - -Firmware returns the physical address of the power switch, -so need to use gsc_writel() instead of direct memory access. - -Fixes: d0c219472980 ("parisc/power: Add power soft-off when running on qemu") -Signed-off-by: Helge Deller -Cc: stable@vger.kernel.org # v6.0+ -Signed-off-by: Greg Kroah-Hartman ---- - drivers/parisc/power.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/parisc/power.c -+++ b/drivers/parisc/power.c -@@ -196,7 +196,7 @@ static struct notifier_block parisc_pani - static int qemu_power_off(struct sys_off_data *data) - { - /* this turns the system off via SeaBIOS */ -- *(int *)data->cb_data = 0; -+ gsc_writel(0, (unsigned long) data->cb_data); - pdc_soft_power_button(1); - return NOTIFY_DONE; - } diff --git a/queue-4.19/s390-cmma-fix-handling-of-swapper_pg_dir-and-invalid_pg_dir.patch b/queue-4.19/s390-cmma-fix-handling-of-swapper_pg_dir-and-invalid_pg_dir.patch index 0ab403e9821..8cbc7fa608d 100644 --- a/queue-4.19/s390-cmma-fix-handling-of-swapper_pg_dir-and-invalid_pg_dir.patch +++ b/queue-4.19/s390-cmma-fix-handling-of-swapper_pg_dir-and-invalid_pg_dir.patch @@ -30,7 +30,7 @@ Signed-off-by: Greg Kroah-Hartman --- a/arch/s390/mm/page-states.c +++ b/arch/s390/mm/page-states.c -@@ -204,6 +204,12 @@ void __init cmma_init_nodat(void) +@@ -197,6 +197,12 @@ void __init cmma_init_nodat(void) return; /* Mark pages used in kernel page tables */ mark_kernel_pgd(); diff --git a/queue-4.19/s390-cmma-fix-initial-kernel-address-space-page-table-walk.patch b/queue-4.19/s390-cmma-fix-initial-kernel-address-space-page-table-walk.patch deleted file mode 100644 index 4881f314214..00000000000 --- a/queue-4.19/s390-cmma-fix-initial-kernel-address-space-page-table-walk.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 16ba44826a04834d3eeeda4b731c2ea3481062b7 Mon Sep 17 00:00:00 2001 -From: Heiko Carstens -Date: Tue, 17 Oct 2023 21:07:03 +0200 -Subject: s390/cmma: fix initial kernel address space page table walk - -From: Heiko Carstens - -commit 16ba44826a04834d3eeeda4b731c2ea3481062b7 upstream. - -If the cmma no-dat feature is available the kernel page tables are walked -to identify and mark all pages which are used for address translation (all -region, segment, and page tables). In a subsequent loop all other pages are -marked as "no-dat" pages with the ESSA instruction. - -This information is visible to the hypervisor, so that the hypervisor can -optimize purging of guest TLB entries. The initial loop however does not -cover the complete kernel address space. This can result in pages being -marked as not being used for dynamic address translation, even though they -are. In turn guest TLB entries incorrectly may not be purged. - -Fix this by adjusting the end address of the kernel address range being -walked. - -Cc: -Reviewed-by: Claudio Imbrenda -Reviewed-by: Alexander Gordeev -Signed-off-by: Heiko Carstens -Signed-off-by: Vasily Gorbik -Signed-off-by: Greg Kroah-Hartman ---- - arch/s390/mm/page-states.c | 13 ++++++++++--- - 1 file changed, 10 insertions(+), 3 deletions(-) - ---- a/arch/s390/mm/page-states.c -+++ b/arch/s390/mm/page-states.c -@@ -167,15 +167,22 @@ static void mark_kernel_p4d(pgd_t *pgd, - - static void mark_kernel_pgd(void) - { -- unsigned long addr, next; -+ unsigned long addr, next, max_addr; - struct page *page; - pgd_t *pgd; - int i; - - addr = 0; -+ /* -+ * Figure out maximum virtual address accessible with the -+ * kernel ASCE. This is required to keep the page table walker -+ * from accessing non-existent entries. -+ */ -+ max_addr = (S390_lowcore.kernel_asce.val & _ASCE_TYPE_MASK) >> 2; -+ max_addr = 1UL << (max_addr * 11 + 31); - pgd = pgd_offset_k(addr); - do { -- next = pgd_addr_end(addr, MODULES_END); -+ next = pgd_addr_end(addr, max_addr); - if (pgd_none(*pgd)) - continue; - if (!pgd_folded(*pgd)) { -@@ -184,7 +191,7 @@ static void mark_kernel_pgd(void) - set_bit(PG_arch_1, &page[i].flags); - } - mark_kernel_p4d(pgd, addr, next); -- } while (pgd++, addr = next, addr != MODULES_END); -+ } while (pgd++, addr = next, addr != max_addr); - } - - void __init cmma_init_nodat(void) diff --git a/queue-4.19/serial-meson-remove-redundant-initialization-of-vari.patch b/queue-4.19/serial-meson-remove-redundant-initialization-of-vari.patch index 3faf7721ee8..4953fbe1416 100644 --- a/queue-4.19/serial-meson-remove-redundant-initialization-of-vari.patch +++ b/queue-4.19/serial-meson-remove-redundant-initialization-of-vari.patch @@ -21,14 +21,12 @@ Signed-off-by: Greg Kroah-Hartman Stable-dep-of: 2a1d728f20ed ("tty: serial: meson: fix hard LOCKUP on crtscts mode") Signed-off-by: Sasha Levin --- - drivers/tty/serial/meson_uart.c | 3 ++- + drivers/tty/serial/meson_uart.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) -diff --git a/drivers/tty/serial/meson_uart.c b/drivers/tty/serial/meson_uart.c -index 4c3616cc00833..6a74a31231ebf 100644 --- a/drivers/tty/serial/meson_uart.c +++ b/drivers/tty/serial/meson_uart.c -@@ -664,12 +664,13 @@ static int meson_uart_probe(struct platform_device *pdev) +@@ -668,12 +668,13 @@ static int meson_uart_probe(struct platf struct resource *res_mem, *res_irq; struct uart_port *port; int ret = 0; @@ -43,6 +41,3 @@ index 4c3616cc00833..6a74a31231ebf 100644 for (id = AML_UART_PORT_OFFSET; id < AML_UART_PORT_NUM; id++) { if (!meson_ports[id]) { pdev->id = id; --- -2.42.0 - diff --git a/queue-4.19/serial-meson-use-platform_get_irq-to-get-the-interru.patch b/queue-4.19/serial-meson-use-platform_get_irq-to-get-the-interru.patch index e1b5974d623..f209a3693b3 100644 --- a/queue-4.19/serial-meson-use-platform_get_irq-to-get-the-interru.patch +++ b/queue-4.19/serial-meson-use-platform_get_irq-to-get-the-interru.patch @@ -22,14 +22,12 @@ Signed-off-by: Greg Kroah-Hartman Stable-dep-of: 2a1d728f20ed ("tty: serial: meson: fix hard LOCKUP on crtscts mode") Signed-off-by: Sasha Levin --- - drivers/tty/serial/meson_uart.c | 11 ++++++----- + drivers/tty/serial/meson_uart.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) -diff --git a/drivers/tty/serial/meson_uart.c b/drivers/tty/serial/meson_uart.c -index 7563fd215d816..a193cbc78ebc0 100644 --- a/drivers/tty/serial/meson_uart.c +++ b/drivers/tty/serial/meson_uart.c -@@ -661,10 +661,11 @@ static int meson_uart_probe_clocks(struct platform_device *pdev, +@@ -665,10 +665,11 @@ static int meson_uart_probe_clocks(struc static int meson_uart_probe(struct platform_device *pdev) { @@ -42,7 +40,7 @@ index 7563fd215d816..a193cbc78ebc0 100644 if (pdev->dev.of_node) pdev->id = of_alias_get_id(pdev->dev.of_node, "serial"); -@@ -687,9 +688,9 @@ static int meson_uart_probe(struct platform_device *pdev) +@@ -691,9 +692,9 @@ static int meson_uart_probe(struct platf if (!res_mem) return -ENODEV; @@ -55,15 +53,12 @@ index 7563fd215d816..a193cbc78ebc0 100644 of_property_read_u32(pdev->dev.of_node, "fifo-size", &fifosize); -@@ -714,7 +715,7 @@ static int meson_uart_probe(struct platform_device *pdev) +@@ -718,7 +719,7 @@ static int meson_uart_probe(struct platf port->iotype = UPIO_MEM; port->mapbase = res_mem->start; port->mapsize = resource_size(res_mem); - port->irq = res_irq->start; + port->irq = irq; port->flags = UPF_BOOT_AUTOCONF | UPF_LOW_LATENCY; - port->has_sysrq = IS_ENABLED(CONFIG_SERIAL_MESON_CONSOLE); port->dev = &pdev->dev; --- -2.42.0 - + port->line = pdev->id; diff --git a/queue-4.19/series b/queue-4.19/series index 64eff4cf4ab..d71e3ccee69 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -57,7 +57,6 @@ genirq-generic_chip-make-irq_remove_generic_chip-irqdomain-aware.patch pci-keystone-don-t-discard-.remove-callback.patch pci-keystone-don-t-discard-.probe-callback.patch parisc-pdc-add-width-field-to-struct-pdc_model.patch -parisc-power-add-power-soft-off-when-running-on-qemu.patch clk-qcom-ipq8074-drop-the-clk_set_rate_parent-flag-from-pll-clocks.patch mmc-vub300-fix-an-error-code.patch pm-hibernate-use-__get_safe_page-rather-than-touching-the-list.patch @@ -66,15 +65,12 @@ jbd2-fix-potential-data-lost-in-recovering-journal-raced-with-synchronizing-fs-b quota-explicitly-forbid-quota-files-from-being-encrypted.patch mcb-fix-error-handling-for-different-scenarios-when-parsing.patch dmaengine-stm32-mdma-correct-desc-prep-when-channel-running.patch -s390-cmma-fix-initial-kernel-address-space-page-table-walk.patch s390-cmma-fix-handling-of-swapper_pg_dir-and-invalid_pg_dir.patch parisc-prevent-booting-64-bit-kernels-on-pa1.x-machines.patch parisc-pgtable-do-not-drop-upper-5-address-bits-of-physical-address.patch -parisc-power-fix-power-soft-off-when-running-on-qemu.patch alsa-info-fix-potential-deadlock-at-disconnection.patch alsa-hda-realtek-enable-internal-speaker-of-asus-k6500zc.patch tty-serial-meson-if-no-alias-specified-use-an-availa.patch -tty-serial-migrate-meson_uart-to-use-has_sysrq.patch serial-meson-remove-redundant-initialization-of-vari.patch tty-serial-meson-retrieve-port-fifo-size-from-dt.patch serial-meson-use-platform_get_irq-to-get-the-interru.patch diff --git a/queue-4.19/tty-serial-meson-fix-hard-lockup-on-crtscts-mode.patch b/queue-4.19/tty-serial-meson-fix-hard-lockup-on-crtscts-mode.patch index 7527c2e6c59..2a31ab8e02a 100644 --- a/queue-4.19/tty-serial-meson-fix-hard-lockup-on-crtscts-mode.patch +++ b/queue-4.19/tty-serial-meson-fix-hard-lockup-on-crtscts-mode.patch @@ -46,14 +46,12 @@ Link: https://lore.kernel.org/r/OF66360032.51C36182-ON00258A48.003F656B-00258A48 Signed-off-by: Greg Kroah-Hartman Signed-off-by: Sasha Levin --- - drivers/tty/serial/meson_uart.c | 14 +++++++++++--- + drivers/tty/serial/meson_uart.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) -diff --git a/drivers/tty/serial/meson_uart.c b/drivers/tty/serial/meson_uart.c -index a193cbc78ebc0..60c0a4079e093 100644 --- a/drivers/tty/serial/meson_uart.c +++ b/drivers/tty/serial/meson_uart.c -@@ -367,10 +367,14 @@ static void meson_uart_set_termios(struct uart_port *port, +@@ -371,10 +371,14 @@ static void meson_uart_set_termios(struc else val |= AML_UART_STOP_BIT_1SB; @@ -71,7 +69,7 @@ index a193cbc78ebc0..60c0a4079e093 100644 writel(val, port->membase + AML_UART_CONTROL); -@@ -666,6 +670,7 @@ static int meson_uart_probe(struct platform_device *pdev) +@@ -670,6 +674,7 @@ static int meson_uart_probe(struct platf u32 fifosize = 64; /* Default is 64, 128 for EE UART_0 */ int ret = 0; int irq; @@ -79,7 +77,7 @@ index a193cbc78ebc0..60c0a4079e093 100644 if (pdev->dev.of_node) pdev->id = of_alias_get_id(pdev->dev.of_node, "serial"); -@@ -693,6 +698,7 @@ static int meson_uart_probe(struct platform_device *pdev) +@@ -697,6 +702,7 @@ static int meson_uart_probe(struct platf return irq; of_property_read_u32(pdev->dev.of_node, "fifo-size", &fifosize); @@ -87,15 +85,12 @@ index a193cbc78ebc0..60c0a4079e093 100644 if (meson_ports[pdev->id]) { dev_err(&pdev->dev, "port %d already allocated\n", pdev->id); -@@ -717,6 +723,8 @@ static int meson_uart_probe(struct platform_device *pdev) +@@ -721,6 +727,8 @@ static int meson_uart_probe(struct platf port->mapsize = resource_size(res_mem); port->irq = irq; port->flags = UPF_BOOT_AUTOCONF | UPF_LOW_LATENCY; + if (has_rtscts) + port->flags |= UPF_HARD_FLOW; - port->has_sysrq = IS_ENABLED(CONFIG_SERIAL_MESON_CONSOLE); port->dev = &pdev->dev; port->line = pdev->id; --- -2.42.0 - + port->type = PORT_MESON; diff --git a/queue-4.19/tty-serial-meson-retrieve-port-fifo-size-from-dt.patch b/queue-4.19/tty-serial-meson-retrieve-port-fifo-size-from-dt.patch index fbd781699bc..cbdb2093f0e 100644 --- a/queue-4.19/tty-serial-meson-retrieve-port-fifo-size-from-dt.patch +++ b/queue-4.19/tty-serial-meson-retrieve-port-fifo-size-from-dt.patch @@ -17,14 +17,12 @@ Signed-off-by: Greg Kroah-Hartman Stable-dep-of: 2a1d728f20ed ("tty: serial: meson: fix hard LOCKUP on crtscts mode") Signed-off-by: Sasha Levin --- - drivers/tty/serial/meson_uart.c | 5 ++++- + drivers/tty/serial/meson_uart.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) -diff --git a/drivers/tty/serial/meson_uart.c b/drivers/tty/serial/meson_uart.c -index 6a74a31231ebf..7563fd215d816 100644 --- a/drivers/tty/serial/meson_uart.c +++ b/drivers/tty/serial/meson_uart.c -@@ -663,6 +663,7 @@ static int meson_uart_probe(struct platform_device *pdev) +@@ -667,6 +667,7 @@ static int meson_uart_probe(struct platf { struct resource *res_mem, *res_irq; struct uart_port *port; @@ -32,7 +30,7 @@ index 6a74a31231ebf..7563fd215d816 100644 int ret = 0; if (pdev->dev.of_node) -@@ -690,6 +691,8 @@ static int meson_uart_probe(struct platform_device *pdev) +@@ -694,6 +695,8 @@ static int meson_uart_probe(struct platf if (!res_irq) return -ENODEV; @@ -41,7 +39,7 @@ index 6a74a31231ebf..7563fd215d816 100644 if (meson_ports[pdev->id]) { dev_err(&pdev->dev, "port %d already allocated\n", pdev->id); return -EBUSY; -@@ -719,7 +722,7 @@ static int meson_uart_probe(struct platform_device *pdev) +@@ -722,7 +725,7 @@ static int meson_uart_probe(struct platf port->type = PORT_MESON; port->x_char = 0; port->ops = &meson_uart_ops; @@ -50,6 +48,3 @@ index 6a74a31231ebf..7563fd215d816 100644 meson_ports[pdev->id] = port; platform_set_drvdata(pdev, port); --- -2.42.0 - diff --git a/queue-4.19/tty-serial-migrate-meson_uart-to-use-has_sysrq.patch b/queue-4.19/tty-serial-migrate-meson_uart-to-use-has_sysrq.patch deleted file mode 100644 index 65f25294157..00000000000 --- a/queue-4.19/tty-serial-migrate-meson_uart-to-use-has_sysrq.patch +++ /dev/null @@ -1,56 +0,0 @@ -From f10405e5e2a157f4b387de97d81986d5415cfa61 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 13 Dec 2019 00:06:20 +0000 -Subject: tty/serial: Migrate meson_uart to use has_sysrq - -From: Dmitry Safonov - -[ Upstream commit dca3ac8d3bc9436eb5fd35b80cdcad762fbfa518 ] - -The SUPPORT_SYSRQ ifdeffery is not nice as: -- May create misunderstanding about sizeof(struct uart_port) between - different objects -- Prevents moving functions from serial_core.h -- Reduces readability (well, it's ifdeffery - it's hard to follow) - -In order to remove SUPPORT_SYSRQ, has_sysrq variable has been added. -Initialise it in driver's probe and remove ifdeffery. - -Cc: Kevin Hilman -Cc: linux-arm-kernel@lists.infradead.org -Cc: linux-amlogic@lists.infradead.org -Signed-off-by: Dmitry Safonov -Link: https://lore.kernel.org/r/20191213000657.931618-22-dima@arista.com -Signed-off-by: Greg Kroah-Hartman -Stable-dep-of: 2a1d728f20ed ("tty: serial: meson: fix hard LOCKUP on crtscts mode") -Signed-off-by: Sasha Levin ---- - drivers/tty/serial/meson_uart.c | 5 +---- - 1 file changed, 1 insertion(+), 4 deletions(-) - -diff --git a/drivers/tty/serial/meson_uart.c b/drivers/tty/serial/meson_uart.c -index 849ce8c1ef392..4c3616cc00833 100644 ---- a/drivers/tty/serial/meson_uart.c -+++ b/drivers/tty/serial/meson_uart.c -@@ -5,10 +5,6 @@ - * Copyright (C) 2014 Carlo Caione - */ - --#if defined(CONFIG_SERIAL_MESON_CONSOLE) && defined(CONFIG_MAGIC_SYSRQ) --#define SUPPORT_SYSRQ --#endif -- - #include - #include - #include -@@ -716,6 +712,7 @@ static int meson_uart_probe(struct platform_device *pdev) - port->mapsize = resource_size(res_mem); - port->irq = res_irq->start; - port->flags = UPF_BOOT_AUTOCONF | UPF_LOW_LATENCY; -+ port->has_sysrq = IS_ENABLED(CONFIG_SERIAL_MESON_CONSOLE); - port->dev = &pdev->dev; - port->line = pdev->id; - port->type = PORT_MESON; --- -2.42.0 - diff --git a/queue-5.10/parisc-power-add-power-soft-off-when-running-on-qemu.patch b/queue-5.10/parisc-power-add-power-soft-off-when-running-on-qemu.patch deleted file mode 100644 index db7d7ecb7e9..00000000000 --- a/queue-5.10/parisc-power-add-power-soft-off-when-running-on-qemu.patch +++ /dev/null @@ -1,48 +0,0 @@ -From d0c219472980d15f5cbc5c8aec736848bda3f235 Mon Sep 17 00:00:00 2001 -From: Helge Deller -Date: Tue, 17 Oct 2023 22:19:53 +0200 -Subject: parisc/power: Add power soft-off when running on qemu - -From: Helge Deller - -commit d0c219472980d15f5cbc5c8aec736848bda3f235 upstream. - -Signed-off-by: Helge Deller -Cc: stable@vger.kernel.org # v6.0+ -Signed-off-by: Greg Kroah-Hartman ---- - drivers/parisc/power.c | 16 +++++++++++++++- - 1 file changed, 15 insertions(+), 1 deletion(-) - ---- a/drivers/parisc/power.c -+++ b/drivers/parisc/power.c -@@ -192,6 +192,14 @@ static struct notifier_block parisc_pani - .priority = INT_MAX, - }; - -+/* qemu soft power-off function */ -+static int qemu_power_off(struct sys_off_data *data) -+{ -+ /* this turns the system off via SeaBIOS */ -+ *(int *)data->cb_data = 0; -+ pdc_soft_power_button(1); -+ return NOTIFY_DONE; -+} - - static int __init power_init(void) - { -@@ -221,7 +229,13 @@ static int __init power_init(void) - soft_power_reg); - } - -- power_task = kthread_run(kpowerswd, (void*)soft_power_reg, KTHREAD_NAME); -+ power_task = NULL; -+ if (running_on_qemu && soft_power_reg) -+ register_sys_off_handler(SYS_OFF_MODE_POWER_OFF, SYS_OFF_PRIO_DEFAULT, -+ qemu_power_off, (void *)soft_power_reg); -+ else -+ power_task = kthread_run(kpowerswd, (void*)soft_power_reg, -+ KTHREAD_NAME); - if (IS_ERR(power_task)) { - printk(KERN_ERR DRIVER_NAME ": thread creation failed. Driver not loaded.\n"); - pdc_soft_power_button(0); diff --git a/queue-5.10/parisc-power-fix-power-soft-off-when-running-on-qemu.patch b/queue-5.10/parisc-power-fix-power-soft-off-when-running-on-qemu.patch deleted file mode 100644 index 1ed60ef366d..00000000000 --- a/queue-5.10/parisc-power-fix-power-soft-off-when-running-on-qemu.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 6ad6e15a9c46b8f0932cd99724f26f3db4db1cdf Mon Sep 17 00:00:00 2001 -From: Helge Deller -Date: Fri, 17 Nov 2023 16:43:52 +0100 -Subject: parisc/power: Fix power soft-off when running on qemu - -From: Helge Deller - -commit 6ad6e15a9c46b8f0932cd99724f26f3db4db1cdf upstream. - -Firmware returns the physical address of the power switch, -so need to use gsc_writel() instead of direct memory access. - -Fixes: d0c219472980 ("parisc/power: Add power soft-off when running on qemu") -Signed-off-by: Helge Deller -Cc: stable@vger.kernel.org # v6.0+ -Signed-off-by: Greg Kroah-Hartman ---- - drivers/parisc/power.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/parisc/power.c -+++ b/drivers/parisc/power.c -@@ -196,7 +196,7 @@ static struct notifier_block parisc_pani - static int qemu_power_off(struct sys_off_data *data) - { - /* this turns the system off via SeaBIOS */ -- *(int *)data->cb_data = 0; -+ gsc_writel(0, (unsigned long) data->cb_data); - pdc_soft_power_button(1); - return NOTIFY_DONE; - } diff --git a/queue-5.10/powerpc-powernv-fix-fortify-source-warnings-in-opal-prd.c.patch b/queue-5.10/powerpc-powernv-fix-fortify-source-warnings-in-opal-prd.c.patch deleted file mode 100644 index 66e0f04a8fe..00000000000 --- a/queue-5.10/powerpc-powernv-fix-fortify-source-warnings-in-opal-prd.c.patch +++ /dev/null @@ -1,92 +0,0 @@ -From feea65a338e52297b68ceb688eaf0ffc50310a83 Mon Sep 17 00:00:00 2001 -From: Michael Ellerman -Date: Tue, 22 Aug 2023 00:28:19 +1000 -Subject: powerpc/powernv: Fix fortify source warnings in opal-prd.c - -From: Michael Ellerman - -commit feea65a338e52297b68ceb688eaf0ffc50310a83 upstream. - -As reported by Mahesh & Aneesh, opal_prd_msg_notifier() triggers a -FORTIFY_SOURCE warning: - - memcpy: detected field-spanning write (size 32) of single field "&item->msg" at arch/powerpc/platforms/powernv/opal-prd.c:355 (size 4) - WARNING: CPU: 9 PID: 660 at arch/powerpc/platforms/powernv/opal-prd.c:355 opal_prd_msg_notifier+0x174/0x188 [opal_prd] - NIP opal_prd_msg_notifier+0x174/0x188 [opal_prd] - LR opal_prd_msg_notifier+0x170/0x188 [opal_prd] - Call Trace: - opal_prd_msg_notifier+0x170/0x188 [opal_prd] (unreliable) - notifier_call_chain+0xc0/0x1b0 - atomic_notifier_call_chain+0x2c/0x40 - opal_message_notify+0xf4/0x2c0 - -This happens because the copy is targeting item->msg, which is only 4 -bytes in size, even though the enclosing item was allocated with extra -space following the msg. - -To fix the warning define struct opal_prd_msg with a union of the header -and a flex array, and have the memcpy target the flex array. - -Reported-by: "Aneesh Kumar K.V" -Reported-by: Mahesh Salgaonkar -Tested-by: Mahesh Salgaonkar -Reviewed-by: Mahesh Salgaonkar -Signed-off-by: Michael Ellerman -Link: https://msgid.link/20230821142820.497107-1-mpe@ellerman.id.au -Signed-off-by: Greg Kroah-Hartman ---- - arch/powerpc/platforms/powernv/opal-prd.c | 17 ++++++++++++----- - 1 file changed, 12 insertions(+), 5 deletions(-) - ---- a/arch/powerpc/platforms/powernv/opal-prd.c -+++ b/arch/powerpc/platforms/powernv/opal-prd.c -@@ -24,13 +24,20 @@ - #include - - -+struct opal_prd_msg { -+ union { -+ struct opal_prd_msg_header header; -+ DECLARE_FLEX_ARRAY(u8, data); -+ }; -+}; -+ - /* - * The msg member must be at the end of the struct, as it's followed by the - * message data. - */ - struct opal_prd_msg_queue_item { -- struct list_head list; -- struct opal_prd_msg_header msg; -+ struct list_head list; -+ struct opal_prd_msg msg; - }; - - static struct device_node *prd_node; -@@ -159,7 +166,7 @@ static ssize_t opal_prd_read(struct file - int rc; - - /* we need at least a header's worth of data */ -- if (count < sizeof(item->msg)) -+ if (count < sizeof(item->msg.header)) - return -EINVAL; - - if (*ppos) -@@ -189,7 +196,7 @@ static ssize_t opal_prd_read(struct file - return -EINTR; - } - -- size = be16_to_cpu(item->msg.size); -+ size = be16_to_cpu(item->msg.header.size); - if (size > count) { - err = -EINVAL; - goto err_requeue; -@@ -355,7 +362,7 @@ static int opal_prd_msg_notifier(struct - if (!item) - return -ENOMEM; - -- memcpy(&item->msg, msg->params, msg_size); -+ memcpy(&item->msg.data, msg->params, msg_size); - - spin_lock_irqsave(&opal_prd_msg_queue_lock, flags); - list_add_tail(&item->list, &opal_prd_msg_queue); diff --git a/queue-5.10/s390-cmma-fix-handling-of-swapper_pg_dir-and-invalid_pg_dir.patch b/queue-5.10/s390-cmma-fix-handling-of-swapper_pg_dir-and-invalid_pg_dir.patch index bb35d3989f4..d11c626fd08 100644 --- a/queue-5.10/s390-cmma-fix-handling-of-swapper_pg_dir-and-invalid_pg_dir.patch +++ b/queue-5.10/s390-cmma-fix-handling-of-swapper_pg_dir-and-invalid_pg_dir.patch @@ -30,7 +30,7 @@ Signed-off-by: Greg Kroah-Hartman --- a/arch/s390/mm/page-states.c +++ b/arch/s390/mm/page-states.c -@@ -198,6 +198,12 @@ void __init cmma_init_nodat(void) +@@ -191,6 +191,12 @@ void __init cmma_init_nodat(void) return; /* Mark pages used in kernel page tables */ mark_kernel_pgd(); diff --git a/queue-5.10/s390-cmma-fix-initial-kernel-address-space-page-table-walk.patch b/queue-5.10/s390-cmma-fix-initial-kernel-address-space-page-table-walk.patch deleted file mode 100644 index 0b07e751946..00000000000 --- a/queue-5.10/s390-cmma-fix-initial-kernel-address-space-page-table-walk.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 16ba44826a04834d3eeeda4b731c2ea3481062b7 Mon Sep 17 00:00:00 2001 -From: Heiko Carstens -Date: Tue, 17 Oct 2023 21:07:03 +0200 -Subject: s390/cmma: fix initial kernel address space page table walk - -From: Heiko Carstens - -commit 16ba44826a04834d3eeeda4b731c2ea3481062b7 upstream. - -If the cmma no-dat feature is available the kernel page tables are walked -to identify and mark all pages which are used for address translation (all -region, segment, and page tables). In a subsequent loop all other pages are -marked as "no-dat" pages with the ESSA instruction. - -This information is visible to the hypervisor, so that the hypervisor can -optimize purging of guest TLB entries. The initial loop however does not -cover the complete kernel address space. This can result in pages being -marked as not being used for dynamic address translation, even though they -are. In turn guest TLB entries incorrectly may not be purged. - -Fix this by adjusting the end address of the kernel address range being -walked. - -Cc: -Reviewed-by: Claudio Imbrenda -Reviewed-by: Alexander Gordeev -Signed-off-by: Heiko Carstens -Signed-off-by: Vasily Gorbik -Signed-off-by: Greg Kroah-Hartman ---- - arch/s390/mm/page-states.c | 13 ++++++++++--- - 1 file changed, 10 insertions(+), 3 deletions(-) - ---- a/arch/s390/mm/page-states.c -+++ b/arch/s390/mm/page-states.c -@@ -161,15 +161,22 @@ static void mark_kernel_p4d(pgd_t *pgd, - - static void mark_kernel_pgd(void) - { -- unsigned long addr, next; -+ unsigned long addr, next, max_addr; - struct page *page; - pgd_t *pgd; - int i; - - addr = 0; -+ /* -+ * Figure out maximum virtual address accessible with the -+ * kernel ASCE. This is required to keep the page table walker -+ * from accessing non-existent entries. -+ */ -+ max_addr = (S390_lowcore.kernel_asce.val & _ASCE_TYPE_MASK) >> 2; -+ max_addr = 1UL << (max_addr * 11 + 31); - pgd = pgd_offset_k(addr); - do { -- next = pgd_addr_end(addr, MODULES_END); -+ next = pgd_addr_end(addr, max_addr); - if (pgd_none(*pgd)) - continue; - if (!pgd_folded(*pgd)) { -@@ -178,7 +185,7 @@ static void mark_kernel_pgd(void) - set_bit(PG_arch_1, &page[i].flags); - } - mark_kernel_p4d(pgd, addr, next); -- } while (pgd++, addr = next, addr != MODULES_END); -+ } while (pgd++, addr = next, addr != max_addr); - } - - void __init cmma_init_nodat(void) diff --git a/queue-5.10/series b/queue-5.10/series index 3237bcc4bfa..6d9acd0a515 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -106,7 +106,6 @@ watchdog-move-softlockup_panic-back-to-early_param.patch acpi-resource-do-irq-override-on-tongfang-gmxxgxx.patch arm64-restrict-cpu_big_endian-to-gnu-as-or-llvm-ias-15.x-or-newer.patch parisc-pdc-add-width-field-to-struct-pdc_model.patch -parisc-power-add-power-soft-off-when-running-on-qemu.patch clk-qcom-ipq8074-drop-the-clk_set_rate_parent-flag-from-pll-clocks.patch clk-qcom-ipq6018-drop-the-clk_set_rate_parent-flag-from-pll-clocks.patch mmc-vub300-fix-an-error-code.patch @@ -132,7 +131,6 @@ kernel-reboot-emergency_restart-set-correct-system_state.patch i2c-core-run-atomic-i2c-xfer-when-preemptible.patch mcb-fix-error-handling-for-different-scenarios-when-parsing.patch dmaengine-stm32-mdma-correct-desc-prep-when-channel-running.patch -s390-cmma-fix-initial-kernel-address-space-page-table-walk.patch s390-cmma-fix-handling-of-swapper_pg_dir-and-invalid_pg_dir.patch mm-cma-use-nth_page-in-place-of-direct-struct-page-manipulation.patch mm-memory_hotplug-use-pfn-math-in-place-of-direct-struct-page-manipulation.patch @@ -140,7 +138,6 @@ mtd-cfi_cmdset_0001-byte-swap-otp-info.patch i3c-master-cdns-fix-reading-status-register.patch parisc-prevent-booting-64-bit-kernels-on-pa1.x-machines.patch parisc-pgtable-do-not-drop-upper-5-address-bits-of-physical-address.patch -parisc-power-fix-power-soft-off-when-running-on-qemu.patch xhci-enable-rpm-on-controllers-that-support-low-power-states.patch alsa-info-fix-potential-deadlock-at-disconnection.patch alsa-hda-realtek-add-dell-alc295-to-pin-fall-back-table.patch @@ -186,7 +183,6 @@ drm-amd-pm-handle-non-terminated-overdrive-commands.patch drm-amdgpu-fix-error-handling-in-amdgpu_bo_list_get.patch drm-amd-display-change-the-dmcub-mailbox-memory-location-from-fb-to-inbox.patch io_uring-fdinfo-lock-sq-thread-while-retrieving-thread-cpu-pid.patch -powerpc-powernv-fix-fortify-source-warnings-in-opal-prd.c.patch tracing-have-trace_event_file-have-ref-counters.patch netfilter-nftables-update-table-flags-from-the-commit-phase.patch netfilter-nf_tables-fix-table-flag-updates.patch diff --git a/queue-5.15/parisc-power-add-power-soft-off-when-running-on-qemu.patch b/queue-5.15/parisc-power-add-power-soft-off-when-running-on-qemu.patch deleted file mode 100644 index 827238a7af6..00000000000 --- a/queue-5.15/parisc-power-add-power-soft-off-when-running-on-qemu.patch +++ /dev/null @@ -1,48 +0,0 @@ -From d0c219472980d15f5cbc5c8aec736848bda3f235 Mon Sep 17 00:00:00 2001 -From: Helge Deller -Date: Tue, 17 Oct 2023 22:19:53 +0200 -Subject: parisc/power: Add power soft-off when running on qemu - -From: Helge Deller - -commit d0c219472980d15f5cbc5c8aec736848bda3f235 upstream. - -Signed-off-by: Helge Deller -Cc: stable@vger.kernel.org # v6.0+ -Signed-off-by: Greg Kroah-Hartman ---- - drivers/parisc/power.c | 16 +++++++++++++++- - 1 file changed, 15 insertions(+), 1 deletion(-) - ---- a/drivers/parisc/power.c -+++ b/drivers/parisc/power.c -@@ -197,6 +197,14 @@ static struct notifier_block parisc_pani - .priority = INT_MAX, - }; - -+/* qemu soft power-off function */ -+static int qemu_power_off(struct sys_off_data *data) -+{ -+ /* this turns the system off via SeaBIOS */ -+ *(int *)data->cb_data = 0; -+ pdc_soft_power_button(1); -+ return NOTIFY_DONE; -+} - - static int __init power_init(void) - { -@@ -226,7 +234,13 @@ static int __init power_init(void) - soft_power_reg); - } - -- power_task = kthread_run(kpowerswd, (void*)soft_power_reg, KTHREAD_NAME); -+ power_task = NULL; -+ if (running_on_qemu && soft_power_reg) -+ register_sys_off_handler(SYS_OFF_MODE_POWER_OFF, SYS_OFF_PRIO_DEFAULT, -+ qemu_power_off, (void *)soft_power_reg); -+ else -+ power_task = kthread_run(kpowerswd, (void*)soft_power_reg, -+ KTHREAD_NAME); - if (IS_ERR(power_task)) { - printk(KERN_ERR DRIVER_NAME ": thread creation failed. Driver not loaded.\n"); - pdc_soft_power_button(0); diff --git a/queue-5.15/parisc-power-fix-power-soft-off-when-running-on-qemu.patch b/queue-5.15/parisc-power-fix-power-soft-off-when-running-on-qemu.patch deleted file mode 100644 index 9b8e9cfdbf5..00000000000 --- a/queue-5.15/parisc-power-fix-power-soft-off-when-running-on-qemu.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 6ad6e15a9c46b8f0932cd99724f26f3db4db1cdf Mon Sep 17 00:00:00 2001 -From: Helge Deller -Date: Fri, 17 Nov 2023 16:43:52 +0100 -Subject: parisc/power: Fix power soft-off when running on qemu - -From: Helge Deller - -commit 6ad6e15a9c46b8f0932cd99724f26f3db4db1cdf upstream. - -Firmware returns the physical address of the power switch, -so need to use gsc_writel() instead of direct memory access. - -Fixes: d0c219472980 ("parisc/power: Add power soft-off when running on qemu") -Signed-off-by: Helge Deller -Cc: stable@vger.kernel.org # v6.0+ -Signed-off-by: Greg Kroah-Hartman ---- - drivers/parisc/power.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/parisc/power.c -+++ b/drivers/parisc/power.c -@@ -201,7 +201,7 @@ static struct notifier_block parisc_pani - static int qemu_power_off(struct sys_off_data *data) - { - /* this turns the system off via SeaBIOS */ -- *(int *)data->cb_data = 0; -+ gsc_writel(0, (unsigned long) data->cb_data); - pdc_soft_power_button(1); - return NOTIFY_DONE; - } diff --git a/queue-5.15/s390-cmma-fix-detection-of-dat-pages.patch b/queue-5.15/s390-cmma-fix-detection-of-dat-pages.patch index e686adb3a17..fcb5076cbd7 100644 --- a/queue-5.15/s390-cmma-fix-detection-of-dat-pages.patch +++ b/queue-5.15/s390-cmma-fix-detection-of-dat-pages.patch @@ -51,7 +51,7 @@ Signed-off-by: Greg Kroah-Hartman set_bit(PG_arch_1, &page[i].flags); } mark_kernel_pud(p4d, addr, next); -@@ -181,7 +181,7 @@ static void mark_kernel_pgd(void) +@@ -174,7 +174,7 @@ static void mark_kernel_pgd(void) continue; if (!pgd_folded(*pgd)) { page = phys_to_page(pgd_val(*pgd)); diff --git a/queue-5.15/s390-cmma-fix-handling-of-swapper_pg_dir-and-invalid_pg_dir.patch b/queue-5.15/s390-cmma-fix-handling-of-swapper_pg_dir-and-invalid_pg_dir.patch index bb35d3989f4..d11c626fd08 100644 --- a/queue-5.15/s390-cmma-fix-handling-of-swapper_pg_dir-and-invalid_pg_dir.patch +++ b/queue-5.15/s390-cmma-fix-handling-of-swapper_pg_dir-and-invalid_pg_dir.patch @@ -30,7 +30,7 @@ Signed-off-by: Greg Kroah-Hartman --- a/arch/s390/mm/page-states.c +++ b/arch/s390/mm/page-states.c -@@ -198,6 +198,12 @@ void __init cmma_init_nodat(void) +@@ -191,6 +191,12 @@ void __init cmma_init_nodat(void) return; /* Mark pages used in kernel page tables */ mark_kernel_pgd(); diff --git a/queue-5.15/s390-cmma-fix-initial-kernel-address-space-page-table-walk.patch b/queue-5.15/s390-cmma-fix-initial-kernel-address-space-page-table-walk.patch deleted file mode 100644 index 0b07e751946..00000000000 --- a/queue-5.15/s390-cmma-fix-initial-kernel-address-space-page-table-walk.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 16ba44826a04834d3eeeda4b731c2ea3481062b7 Mon Sep 17 00:00:00 2001 -From: Heiko Carstens -Date: Tue, 17 Oct 2023 21:07:03 +0200 -Subject: s390/cmma: fix initial kernel address space page table walk - -From: Heiko Carstens - -commit 16ba44826a04834d3eeeda4b731c2ea3481062b7 upstream. - -If the cmma no-dat feature is available the kernel page tables are walked -to identify and mark all pages which are used for address translation (all -region, segment, and page tables). In a subsequent loop all other pages are -marked as "no-dat" pages with the ESSA instruction. - -This information is visible to the hypervisor, so that the hypervisor can -optimize purging of guest TLB entries. The initial loop however does not -cover the complete kernel address space. This can result in pages being -marked as not being used for dynamic address translation, even though they -are. In turn guest TLB entries incorrectly may not be purged. - -Fix this by adjusting the end address of the kernel address range being -walked. - -Cc: -Reviewed-by: Claudio Imbrenda -Reviewed-by: Alexander Gordeev -Signed-off-by: Heiko Carstens -Signed-off-by: Vasily Gorbik -Signed-off-by: Greg Kroah-Hartman ---- - arch/s390/mm/page-states.c | 13 ++++++++++--- - 1 file changed, 10 insertions(+), 3 deletions(-) - ---- a/arch/s390/mm/page-states.c -+++ b/arch/s390/mm/page-states.c -@@ -161,15 +161,22 @@ static void mark_kernel_p4d(pgd_t *pgd, - - static void mark_kernel_pgd(void) - { -- unsigned long addr, next; -+ unsigned long addr, next, max_addr; - struct page *page; - pgd_t *pgd; - int i; - - addr = 0; -+ /* -+ * Figure out maximum virtual address accessible with the -+ * kernel ASCE. This is required to keep the page table walker -+ * from accessing non-existent entries. -+ */ -+ max_addr = (S390_lowcore.kernel_asce.val & _ASCE_TYPE_MASK) >> 2; -+ max_addr = 1UL << (max_addr * 11 + 31); - pgd = pgd_offset_k(addr); - do { -- next = pgd_addr_end(addr, MODULES_END); -+ next = pgd_addr_end(addr, max_addr); - if (pgd_none(*pgd)) - continue; - if (!pgd_folded(*pgd)) { -@@ -178,7 +185,7 @@ static void mark_kernel_pgd(void) - set_bit(PG_arch_1, &page[i].flags); - } - mark_kernel_p4d(pgd, addr, next); -- } while (pgd++, addr = next, addr != MODULES_END); -+ } while (pgd++, addr = next, addr != max_addr); - } - - void __init cmma_init_nodat(void) diff --git a/queue-5.15/series b/queue-5.15/series index f4d20a43327..fbdaa4e358e 100644 --- a/queue-5.15/series +++ b/queue-5.15/series @@ -176,7 +176,6 @@ watchdog-move-softlockup_panic-back-to-early_param.patch acpi-resource-do-irq-override-on-tongfang-gmxxgxx.patch arm64-restrict-cpu_big_endian-to-gnu-as-or-llvm-ias-15.x-or-newer.patch parisc-pdc-add-width-field-to-struct-pdc_model.patch -parisc-power-add-power-soft-off-when-running-on-qemu.patch clk-socfpga-fix-undefined-behavior-bug-in-struct-stratix10_clock_data.patch clk-qcom-ipq8074-drop-the-clk_set_rate_parent-flag-from-pll-clocks.patch clk-qcom-ipq6018-drop-the-clk_set_rate_parent-flag-from-pll-clocks.patch @@ -216,7 +215,6 @@ i2c-core-run-atomic-i2c-xfer-when-preemptible.patch tracing-have-the-user-copy-of-synthetic-event-address-use-correct-context.patch mcb-fix-error-handling-for-different-scenarios-when-parsing.patch dmaengine-stm32-mdma-correct-desc-prep-when-channel-running.patch -s390-cmma-fix-initial-kernel-address-space-page-table-walk.patch s390-cmma-fix-detection-of-dat-pages.patch s390-cmma-fix-handling-of-swapper_pg_dir-and-invalid_pg_dir.patch mm-cma-use-nth_page-in-place-of-direct-struct-page-manipulation.patch @@ -230,7 +228,6 @@ i3c-master-svc-fix-check-wrong-status-register-in-irq-handler.patch i3c-master-svc-fix-sda-keep-low-when-polling-ibiwon-timeout-happen.patch parisc-prevent-booting-64-bit-kernels-on-pa1.x-machines.patch parisc-pgtable-do-not-drop-upper-5-address-bits-of-physical-address.patch -parisc-power-fix-power-soft-off-when-running-on-qemu.patch xhci-enable-rpm-on-controllers-that-support-low-power-states.patch alsa-info-fix-potential-deadlock-at-disconnection.patch alsa-hda-realtek-add-dell-alc295-to-pin-fall-back-table.patch diff --git a/queue-5.4/parisc-power-add-power-soft-off-when-running-on-qemu.patch b/queue-5.4/parisc-power-add-power-soft-off-when-running-on-qemu.patch deleted file mode 100644 index db7d7ecb7e9..00000000000 --- a/queue-5.4/parisc-power-add-power-soft-off-when-running-on-qemu.patch +++ /dev/null @@ -1,48 +0,0 @@ -From d0c219472980d15f5cbc5c8aec736848bda3f235 Mon Sep 17 00:00:00 2001 -From: Helge Deller -Date: Tue, 17 Oct 2023 22:19:53 +0200 -Subject: parisc/power: Add power soft-off when running on qemu - -From: Helge Deller - -commit d0c219472980d15f5cbc5c8aec736848bda3f235 upstream. - -Signed-off-by: Helge Deller -Cc: stable@vger.kernel.org # v6.0+ -Signed-off-by: Greg Kroah-Hartman ---- - drivers/parisc/power.c | 16 +++++++++++++++- - 1 file changed, 15 insertions(+), 1 deletion(-) - ---- a/drivers/parisc/power.c -+++ b/drivers/parisc/power.c -@@ -192,6 +192,14 @@ static struct notifier_block parisc_pani - .priority = INT_MAX, - }; - -+/* qemu soft power-off function */ -+static int qemu_power_off(struct sys_off_data *data) -+{ -+ /* this turns the system off via SeaBIOS */ -+ *(int *)data->cb_data = 0; -+ pdc_soft_power_button(1); -+ return NOTIFY_DONE; -+} - - static int __init power_init(void) - { -@@ -221,7 +229,13 @@ static int __init power_init(void) - soft_power_reg); - } - -- power_task = kthread_run(kpowerswd, (void*)soft_power_reg, KTHREAD_NAME); -+ power_task = NULL; -+ if (running_on_qemu && soft_power_reg) -+ register_sys_off_handler(SYS_OFF_MODE_POWER_OFF, SYS_OFF_PRIO_DEFAULT, -+ qemu_power_off, (void *)soft_power_reg); -+ else -+ power_task = kthread_run(kpowerswd, (void*)soft_power_reg, -+ KTHREAD_NAME); - if (IS_ERR(power_task)) { - printk(KERN_ERR DRIVER_NAME ": thread creation failed. Driver not loaded.\n"); - pdc_soft_power_button(0); diff --git a/queue-5.4/parisc-power-fix-power-soft-off-when-running-on-qemu.patch b/queue-5.4/parisc-power-fix-power-soft-off-when-running-on-qemu.patch deleted file mode 100644 index 1ed60ef366d..00000000000 --- a/queue-5.4/parisc-power-fix-power-soft-off-when-running-on-qemu.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 6ad6e15a9c46b8f0932cd99724f26f3db4db1cdf Mon Sep 17 00:00:00 2001 -From: Helge Deller -Date: Fri, 17 Nov 2023 16:43:52 +0100 -Subject: parisc/power: Fix power soft-off when running on qemu - -From: Helge Deller - -commit 6ad6e15a9c46b8f0932cd99724f26f3db4db1cdf upstream. - -Firmware returns the physical address of the power switch, -so need to use gsc_writel() instead of direct memory access. - -Fixes: d0c219472980 ("parisc/power: Add power soft-off when running on qemu") -Signed-off-by: Helge Deller -Cc: stable@vger.kernel.org # v6.0+ -Signed-off-by: Greg Kroah-Hartman ---- - drivers/parisc/power.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/parisc/power.c -+++ b/drivers/parisc/power.c -@@ -196,7 +196,7 @@ static struct notifier_block parisc_pani - static int qemu_power_off(struct sys_off_data *data) - { - /* this turns the system off via SeaBIOS */ -- *(int *)data->cb_data = 0; -+ gsc_writel(0, (unsigned long) data->cb_data); - pdc_soft_power_button(1); - return NOTIFY_DONE; - } diff --git a/queue-5.4/s390-cmma-fix-handling-of-swapper_pg_dir-and-invalid_pg_dir.patch b/queue-5.4/s390-cmma-fix-handling-of-swapper_pg_dir-and-invalid_pg_dir.patch index 40b9589f5d6..352a2e012e2 100644 --- a/queue-5.4/s390-cmma-fix-handling-of-swapper_pg_dir-and-invalid_pg_dir.patch +++ b/queue-5.4/s390-cmma-fix-handling-of-swapper_pg_dir-and-invalid_pg_dir.patch @@ -30,7 +30,7 @@ Signed-off-by: Greg Kroah-Hartman --- a/arch/s390/mm/page-states.c +++ b/arch/s390/mm/page-states.c -@@ -198,6 +198,12 @@ void __init cmma_init_nodat(void) +@@ -191,6 +191,12 @@ void __init cmma_init_nodat(void) return; /* Mark pages used in kernel page tables */ mark_kernel_pgd(); diff --git a/queue-5.4/s390-cmma-fix-initial-kernel-address-space-page-table-walk.patch b/queue-5.4/s390-cmma-fix-initial-kernel-address-space-page-table-walk.patch deleted file mode 100644 index 0b07e751946..00000000000 --- a/queue-5.4/s390-cmma-fix-initial-kernel-address-space-page-table-walk.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 16ba44826a04834d3eeeda4b731c2ea3481062b7 Mon Sep 17 00:00:00 2001 -From: Heiko Carstens -Date: Tue, 17 Oct 2023 21:07:03 +0200 -Subject: s390/cmma: fix initial kernel address space page table walk - -From: Heiko Carstens - -commit 16ba44826a04834d3eeeda4b731c2ea3481062b7 upstream. - -If the cmma no-dat feature is available the kernel page tables are walked -to identify and mark all pages which are used for address translation (all -region, segment, and page tables). In a subsequent loop all other pages are -marked as "no-dat" pages with the ESSA instruction. - -This information is visible to the hypervisor, so that the hypervisor can -optimize purging of guest TLB entries. The initial loop however does not -cover the complete kernel address space. This can result in pages being -marked as not being used for dynamic address translation, even though they -are. In turn guest TLB entries incorrectly may not be purged. - -Fix this by adjusting the end address of the kernel address range being -walked. - -Cc: -Reviewed-by: Claudio Imbrenda -Reviewed-by: Alexander Gordeev -Signed-off-by: Heiko Carstens -Signed-off-by: Vasily Gorbik -Signed-off-by: Greg Kroah-Hartman ---- - arch/s390/mm/page-states.c | 13 ++++++++++--- - 1 file changed, 10 insertions(+), 3 deletions(-) - ---- a/arch/s390/mm/page-states.c -+++ b/arch/s390/mm/page-states.c -@@ -161,15 +161,22 @@ static void mark_kernel_p4d(pgd_t *pgd, - - static void mark_kernel_pgd(void) - { -- unsigned long addr, next; -+ unsigned long addr, next, max_addr; - struct page *page; - pgd_t *pgd; - int i; - - addr = 0; -+ /* -+ * Figure out maximum virtual address accessible with the -+ * kernel ASCE. This is required to keep the page table walker -+ * from accessing non-existent entries. -+ */ -+ max_addr = (S390_lowcore.kernel_asce.val & _ASCE_TYPE_MASK) >> 2; -+ max_addr = 1UL << (max_addr * 11 + 31); - pgd = pgd_offset_k(addr); - do { -- next = pgd_addr_end(addr, MODULES_END); -+ next = pgd_addr_end(addr, max_addr); - if (pgd_none(*pgd)) - continue; - if (!pgd_folded(*pgd)) { -@@ -178,7 +185,7 @@ static void mark_kernel_pgd(void) - set_bit(PG_arch_1, &page[i].flags); - } - mark_kernel_p4d(pgd, addr, next); -- } while (pgd++, addr = next, addr != MODULES_END); -+ } while (pgd++, addr = next, addr != max_addr); - } - - void __init cmma_init_nodat(void) diff --git a/queue-5.4/serial-meson-remove-redundant-initialization-of-vari.patch b/queue-5.4/serial-meson-remove-redundant-initialization-of-vari.patch index 4a53b7e2990..bb2603fb6ab 100644 --- a/queue-5.4/serial-meson-remove-redundant-initialization-of-vari.patch +++ b/queue-5.4/serial-meson-remove-redundant-initialization-of-vari.patch @@ -21,14 +21,12 @@ Signed-off-by: Greg Kroah-Hartman Stable-dep-of: 2a1d728f20ed ("tty: serial: meson: fix hard LOCKUP on crtscts mode") Signed-off-by: Sasha Levin --- - drivers/tty/serial/meson_uart.c | 3 ++- + drivers/tty/serial/meson_uart.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) -diff --git a/drivers/tty/serial/meson_uart.c b/drivers/tty/serial/meson_uart.c -index 4c3616cc00833..6a74a31231ebf 100644 --- a/drivers/tty/serial/meson_uart.c +++ b/drivers/tty/serial/meson_uart.c -@@ -664,12 +664,13 @@ static int meson_uart_probe(struct platform_device *pdev) +@@ -668,12 +668,13 @@ static int meson_uart_probe(struct platf struct resource *res_mem, *res_irq; struct uart_port *port; int ret = 0; @@ -43,6 +41,3 @@ index 4c3616cc00833..6a74a31231ebf 100644 for (id = AML_UART_PORT_OFFSET; id < AML_UART_PORT_NUM; id++) { if (!meson_ports[id]) { pdev->id = id; --- -2.42.0 - diff --git a/queue-5.4/serial-meson-use-platform_get_irq-to-get-the-interru.patch b/queue-5.4/serial-meson-use-platform_get_irq-to-get-the-interru.patch index 128fa179187..033cdd0fb4a 100644 --- a/queue-5.4/serial-meson-use-platform_get_irq-to-get-the-interru.patch +++ b/queue-5.4/serial-meson-use-platform_get_irq-to-get-the-interru.patch @@ -22,14 +22,12 @@ Signed-off-by: Greg Kroah-Hartman Stable-dep-of: 2a1d728f20ed ("tty: serial: meson: fix hard LOCKUP on crtscts mode") Signed-off-by: Sasha Levin --- - drivers/tty/serial/meson_uart.c | 11 ++++++----- + drivers/tty/serial/meson_uart.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) -diff --git a/drivers/tty/serial/meson_uart.c b/drivers/tty/serial/meson_uart.c -index 7563fd215d816..a193cbc78ebc0 100644 --- a/drivers/tty/serial/meson_uart.c +++ b/drivers/tty/serial/meson_uart.c -@@ -661,10 +661,11 @@ static int meson_uart_probe_clocks(struct platform_device *pdev, +@@ -665,10 +665,11 @@ static int meson_uart_probe_clocks(struc static int meson_uart_probe(struct platform_device *pdev) { @@ -42,7 +40,7 @@ index 7563fd215d816..a193cbc78ebc0 100644 if (pdev->dev.of_node) pdev->id = of_alias_get_id(pdev->dev.of_node, "serial"); -@@ -687,9 +688,9 @@ static int meson_uart_probe(struct platform_device *pdev) +@@ -691,9 +692,9 @@ static int meson_uart_probe(struct platf if (!res_mem) return -ENODEV; @@ -55,15 +53,12 @@ index 7563fd215d816..a193cbc78ebc0 100644 of_property_read_u32(pdev->dev.of_node, "fifo-size", &fifosize); -@@ -714,7 +715,7 @@ static int meson_uart_probe(struct platform_device *pdev) +@@ -718,7 +719,7 @@ static int meson_uart_probe(struct platf port->iotype = UPIO_MEM; port->mapbase = res_mem->start; port->mapsize = resource_size(res_mem); - port->irq = res_irq->start; + port->irq = irq; port->flags = UPF_BOOT_AUTOCONF | UPF_LOW_LATENCY; - port->has_sysrq = IS_ENABLED(CONFIG_SERIAL_MESON_CONSOLE); port->dev = &pdev->dev; --- -2.42.0 - + port->line = pdev->id; diff --git a/queue-5.4/series b/queue-5.4/series index b06efd22e2b..4af5d782fcf 100644 --- a/queue-5.4/series +++ b/queue-5.4/series @@ -81,7 +81,6 @@ genirq-generic_chip-make-irq_remove_generic_chip-irqdomain-aware.patch pci-keystone-don-t-discard-.remove-callback.patch pci-keystone-don-t-discard-.probe-callback.patch parisc-pdc-add-width-field-to-struct-pdc_model.patch -parisc-power-add-power-soft-off-when-running-on-qemu.patch clk-qcom-ipq8074-drop-the-clk_set_rate_parent-flag-from-pll-clocks.patch mmc-vub300-fix-an-error-code.patch pm-hibernate-use-__get_safe_page-rather-than-touching-the-list.patch @@ -93,16 +92,13 @@ kernel-reboot-emergency_restart-set-correct-system_state.patch i2c-core-run-atomic-i2c-xfer-when-preemptible.patch mcb-fix-error-handling-for-different-scenarios-when-parsing.patch dmaengine-stm32-mdma-correct-desc-prep-when-channel-running.patch -s390-cmma-fix-initial-kernel-address-space-page-table-walk.patch s390-cmma-fix-handling-of-swapper_pg_dir-and-invalid_pg_dir.patch mm-cma-use-nth_page-in-place-of-direct-struct-page-manipulation.patch i3c-master-cdns-fix-reading-status-register.patch parisc-prevent-booting-64-bit-kernels-on-pa1.x-machines.patch parisc-pgtable-do-not-drop-upper-5-address-bits-of-physical-address.patch -parisc-power-fix-power-soft-off-when-running-on-qemu.patch alsa-info-fix-potential-deadlock-at-disconnection.patch alsa-hda-realtek-enable-internal-speaker-of-asus-k6500zc.patch -tty-serial-migrate-meson_uart-to-use-has_sysrq.patch serial-meson-remove-redundant-initialization-of-vari.patch tty-serial-meson-retrieve-port-fifo-size-from-dt.patch serial-meson-use-platform_get_irq-to-get-the-interru.patch diff --git a/queue-5.4/tty-serial-meson-fix-hard-lockup-on-crtscts-mode.patch b/queue-5.4/tty-serial-meson-fix-hard-lockup-on-crtscts-mode.patch index 450b34b58bb..d33f7dc1f2f 100644 --- a/queue-5.4/tty-serial-meson-fix-hard-lockup-on-crtscts-mode.patch +++ b/queue-5.4/tty-serial-meson-fix-hard-lockup-on-crtscts-mode.patch @@ -46,14 +46,12 @@ Link: https://lore.kernel.org/r/OF66360032.51C36182-ON00258A48.003F656B-00258A48 Signed-off-by: Greg Kroah-Hartman Signed-off-by: Sasha Levin --- - drivers/tty/serial/meson_uart.c | 14 +++++++++++--- + drivers/tty/serial/meson_uart.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) -diff --git a/drivers/tty/serial/meson_uart.c b/drivers/tty/serial/meson_uart.c -index a193cbc78ebc0..60c0a4079e093 100644 --- a/drivers/tty/serial/meson_uart.c +++ b/drivers/tty/serial/meson_uart.c -@@ -367,10 +367,14 @@ static void meson_uart_set_termios(struct uart_port *port, +@@ -371,10 +371,14 @@ static void meson_uart_set_termios(struc else val |= AML_UART_STOP_BIT_1SB; @@ -71,7 +69,7 @@ index a193cbc78ebc0..60c0a4079e093 100644 writel(val, port->membase + AML_UART_CONTROL); -@@ -666,6 +670,7 @@ static int meson_uart_probe(struct platform_device *pdev) +@@ -670,6 +674,7 @@ static int meson_uart_probe(struct platf u32 fifosize = 64; /* Default is 64, 128 for EE UART_0 */ int ret = 0; int irq; @@ -79,7 +77,7 @@ index a193cbc78ebc0..60c0a4079e093 100644 if (pdev->dev.of_node) pdev->id = of_alias_get_id(pdev->dev.of_node, "serial"); -@@ -693,6 +698,7 @@ static int meson_uart_probe(struct platform_device *pdev) +@@ -697,6 +702,7 @@ static int meson_uart_probe(struct platf return irq; of_property_read_u32(pdev->dev.of_node, "fifo-size", &fifosize); @@ -87,15 +85,12 @@ index a193cbc78ebc0..60c0a4079e093 100644 if (meson_ports[pdev->id]) { dev_err(&pdev->dev, "port %d already allocated\n", pdev->id); -@@ -717,6 +723,8 @@ static int meson_uart_probe(struct platform_device *pdev) +@@ -721,6 +727,8 @@ static int meson_uart_probe(struct platf port->mapsize = resource_size(res_mem); port->irq = irq; port->flags = UPF_BOOT_AUTOCONF | UPF_LOW_LATENCY; + if (has_rtscts) + port->flags |= UPF_HARD_FLOW; - port->has_sysrq = IS_ENABLED(CONFIG_SERIAL_MESON_CONSOLE); port->dev = &pdev->dev; port->line = pdev->id; --- -2.42.0 - + port->type = PORT_MESON; diff --git a/queue-5.4/tty-serial-meson-retrieve-port-fifo-size-from-dt.patch b/queue-5.4/tty-serial-meson-retrieve-port-fifo-size-from-dt.patch index bd1576a92c1..6f9ba7c6127 100644 --- a/queue-5.4/tty-serial-meson-retrieve-port-fifo-size-from-dt.patch +++ b/queue-5.4/tty-serial-meson-retrieve-port-fifo-size-from-dt.patch @@ -17,14 +17,12 @@ Signed-off-by: Greg Kroah-Hartman Stable-dep-of: 2a1d728f20ed ("tty: serial: meson: fix hard LOCKUP on crtscts mode") Signed-off-by: Sasha Levin --- - drivers/tty/serial/meson_uart.c | 5 ++++- + drivers/tty/serial/meson_uart.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) -diff --git a/drivers/tty/serial/meson_uart.c b/drivers/tty/serial/meson_uart.c -index 6a74a31231ebf..7563fd215d816 100644 --- a/drivers/tty/serial/meson_uart.c +++ b/drivers/tty/serial/meson_uart.c -@@ -663,6 +663,7 @@ static int meson_uart_probe(struct platform_device *pdev) +@@ -667,6 +667,7 @@ static int meson_uart_probe(struct platf { struct resource *res_mem, *res_irq; struct uart_port *port; @@ -32,7 +30,7 @@ index 6a74a31231ebf..7563fd215d816 100644 int ret = 0; if (pdev->dev.of_node) -@@ -690,6 +691,8 @@ static int meson_uart_probe(struct platform_device *pdev) +@@ -694,6 +695,8 @@ static int meson_uart_probe(struct platf if (!res_irq) return -ENODEV; @@ -41,7 +39,7 @@ index 6a74a31231ebf..7563fd215d816 100644 if (meson_ports[pdev->id]) { dev_err(&pdev->dev, "port %d already allocated\n", pdev->id); return -EBUSY; -@@ -719,7 +722,7 @@ static int meson_uart_probe(struct platform_device *pdev) +@@ -722,7 +725,7 @@ static int meson_uart_probe(struct platf port->type = PORT_MESON; port->x_char = 0; port->ops = &meson_uart_ops; @@ -50,6 +48,3 @@ index 6a74a31231ebf..7563fd215d816 100644 meson_ports[pdev->id] = port; platform_set_drvdata(pdev, port); --- -2.42.0 - diff --git a/queue-5.4/tty-serial-migrate-meson_uart-to-use-has_sysrq.patch b/queue-5.4/tty-serial-migrate-meson_uart-to-use-has_sysrq.patch deleted file mode 100644 index d379e7bb7e9..00000000000 --- a/queue-5.4/tty-serial-migrate-meson_uart-to-use-has_sysrq.patch +++ /dev/null @@ -1,56 +0,0 @@ -From f88dfceaf7310b7a5879a56a3d6a894504076038 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 13 Dec 2019 00:06:20 +0000 -Subject: tty/serial: Migrate meson_uart to use has_sysrq - -From: Dmitry Safonov - -[ Upstream commit dca3ac8d3bc9436eb5fd35b80cdcad762fbfa518 ] - -The SUPPORT_SYSRQ ifdeffery is not nice as: -- May create misunderstanding about sizeof(struct uart_port) between - different objects -- Prevents moving functions from serial_core.h -- Reduces readability (well, it's ifdeffery - it's hard to follow) - -In order to remove SUPPORT_SYSRQ, has_sysrq variable has been added. -Initialise it in driver's probe and remove ifdeffery. - -Cc: Kevin Hilman -Cc: linux-arm-kernel@lists.infradead.org -Cc: linux-amlogic@lists.infradead.org -Signed-off-by: Dmitry Safonov -Link: https://lore.kernel.org/r/20191213000657.931618-22-dima@arista.com -Signed-off-by: Greg Kroah-Hartman -Stable-dep-of: 2a1d728f20ed ("tty: serial: meson: fix hard LOCKUP on crtscts mode") -Signed-off-by: Sasha Levin ---- - drivers/tty/serial/meson_uart.c | 5 +---- - 1 file changed, 1 insertion(+), 4 deletions(-) - -diff --git a/drivers/tty/serial/meson_uart.c b/drivers/tty/serial/meson_uart.c -index 849ce8c1ef392..4c3616cc00833 100644 ---- a/drivers/tty/serial/meson_uart.c -+++ b/drivers/tty/serial/meson_uart.c -@@ -5,10 +5,6 @@ - * Copyright (C) 2014 Carlo Caione - */ - --#if defined(CONFIG_SERIAL_MESON_CONSOLE) && defined(CONFIG_MAGIC_SYSRQ) --#define SUPPORT_SYSRQ --#endif -- - #include - #include - #include -@@ -716,6 +712,7 @@ static int meson_uart_probe(struct platform_device *pdev) - port->mapsize = resource_size(res_mem); - port->irq = res_irq->start; - port->flags = UPF_BOOT_AUTOCONF | UPF_LOW_LATENCY; -+ port->has_sysrq = IS_ENABLED(CONFIG_SERIAL_MESON_CONSOLE); - port->dev = &pdev->dev; - port->line = pdev->id; - port->type = PORT_MESON; --- -2.42.0 - -- 2.47.3