From: Greg Kroah-Hartman Date: Tue, 16 Jun 2026 13:33:04 +0000 (+0530) Subject: 5.10-stable patches X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3a610cc8f7d33a35aeeec142ed43ba6e0fe3aa68;p=thirdparty%2Fkernel%2Fstable-queue.git 5.10-stable patches added patches: fbdev-vt8500lcdfb-fix-dma_free_coherent-cpu_addr-parameter.patch revert-selftest-ptp-update-ptp-selftest-to-exercise-the-gettimex-options.patch --- diff --git a/queue-5.10/fbdev-vt8500lcdfb-fix-dma_free_coherent-cpu_addr-parameter.patch b/queue-5.10/fbdev-vt8500lcdfb-fix-dma_free_coherent-cpu_addr-parameter.patch new file mode 100644 index 0000000000..9a8cead9ed --- /dev/null +++ b/queue-5.10/fbdev-vt8500lcdfb-fix-dma_free_coherent-cpu_addr-parameter.patch @@ -0,0 +1,37 @@ +From benh@debian.org Tue Jun 16 19:00:40 2026 +From: Ben Hutchings +Date: Thu, 28 May 2026 14:59:37 +0200 +Subject: fbdev: vt8500lcdfb: Fix dma_free_coherent() cpu_addr parameter +To: Sasha Levin , Greg Kroah-Hartman +Cc: Thomas Fourier , Helge Deller , stable@vger.kernel.org +Message-ID: +Content-Disposition: inline + +From: Ben Hutchings + +Before commit 63a11adaceb8 "fbdev/vt8500lcdfb: Initialize fb_ops with +fbdev macros", the virtual address of the screen buffer was stored in +the fb_info::screen_base field and not fb_info::screen_buffer. The +backport of commit 88b3b9924337 ("fbdev: vt8500lcdfb: fix missing +dma_free_coherent()") did not take that into account. + +Change the cpu_addr parameter to dma_free_coherent() accordingly. + +Fixes: 9a9bc60ed372 ("fbdev: vt8500lcdfb: fix missing dma_free_coherent()") +Signed-off-by: Ben Hutchings +Signed-off-by: Greg Kroah-Hartman +--- + drivers/video/fbdev/vt8500lcdfb.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/video/fbdev/vt8500lcdfb.c ++++ b/drivers/video/fbdev/vt8500lcdfb.c +@@ -434,7 +434,7 @@ failed_free_palette: + fbi->palette_cpu, fbi->palette_phys); + failed_free_mem_virt: + dma_free_coherent(&pdev->dev, fbi->fb.fix.smem_len, +- fbi->fb.screen_buffer, fbi->fb.fix.smem_start); ++ fbi->fb.screen_base, fbi->fb.fix.smem_start); + failed_free_io: + iounmap(fbi->regbase); + failed_free_res: diff --git a/queue-5.10/revert-selftest-ptp-update-ptp-selftest-to-exercise-the-gettimex-options.patch b/queue-5.10/revert-selftest-ptp-update-ptp-selftest-to-exercise-the-gettimex-options.patch new file mode 100644 index 0000000000..54d6b88da9 --- /dev/null +++ b/queue-5.10/revert-selftest-ptp-update-ptp-selftest-to-exercise-the-gettimex-options.patch @@ -0,0 +1,149 @@ +From petrm@nvidia.com Tue Jun 16 18:57:13 2026 +From: Petr Machata +Date: Fri, 15 May 2026 15:53:53 +0200 +Subject: Revert "selftest/ptp: update ptp selftest to exercise the gettimex options" +To: Sasha Levin +Cc: Petr Machata , , Wojtek Wasko , Mahesh Bandewar , Shuah Khan , Richard Cochran , Yong Wang +Message-ID: <2e4d2f2b9efa7b0b32476947f63506cfe9568d1d.1778851656.git.petrm@nvidia.com> + +From: Petr Machata + +This reverts commit 06954f715deb0ed053f8bf85547370db6870225d, which is +commit 3d07b691ee707c00afaf365440975e81bb96cd9b upstream. + +The cited commit allows testptp to set a configurable clock_id. That is +done via a PTP_SYS_OFFSET_EXTENDED ioctl call, whose argument is struct +ptp_sys_offset_extended, where the clock_id is set. However, this Linux +version does not support the ptp_sys_offset_extended.clockid field, and +the test case cannot be built against this tree's own UAPI headers. + +The reverted commit was introduced to resolve a missing dependency of +commit c6dc458227a3 ("testptp: Add option to open PHC in readonly mode"), +which is 76868642e427 upstream. My suspicion is that the only conflict +between the two is the getopt string, and there is otherwise no direct +dependency between the two. + +This patch therefore reverts the cited commit, with hand-resolving the +getopt string to include 'r' (as introduced by c6dc458227a3), but not +'y' (introduced by 06954f715deb). + +Reported-by: Yong Wang +Signed-off-by: Petr Machata +Signed-off-by: Greg Kroah-Hartman +--- + tools/testing/selftests/ptp/testptp.c | 62 +++------------------------ + 1 file changed, 5 insertions(+), 57 deletions(-) + +diff --git a/tools/testing/selftests/ptp/testptp.c b/tools/testing/selftests/ptp/testptp.c +index 532fb6a5d059..7030bae8e5e0 100644 +--- a/tools/testing/selftests/ptp/testptp.c ++++ b/tools/testing/selftests/ptp/testptp.c +@@ -147,7 +147,6 @@ static void usage(char *progname) + " -T val set the ptp clock time to 'val' seconds\n" + " -x val get an extended ptp clock time with the desired number of samples (up to %d)\n" + " -X get a ptp clock cross timestamp\n" +- " -y val pre/post tstamp timebase to use {realtime|monotonic|monotonic-raw}\n" + " -z test combinations of rising/falling external time stamp flags\n", + progname, PTP_MAX_SAMPLES); + } +@@ -192,7 +191,6 @@ int main(int argc, char *argv[]) + int readonly = 0; + int settime = 0; + int channel = -1; +- clockid_t ext_clockid = CLOCK_REALTIME; + + int64_t t1, t2, tp; + int64_t interval, offset; +@@ -202,7 +200,7 @@ int main(int argc, char *argv[]) + + progname = strrchr(argv[0], '/'); + progname = progname ? 1+progname : argv[0]; +- while (EOF != (c = getopt(argc, argv, "cd:e:f:F:ghH:i:k:lL:n:o:p:P:rsSt:T:w:x:Xy:z"))) { ++ while (EOF != (c = getopt(argc, argv, "cd:e:f:F:ghH:i:k:lL:n:o:p:P:rsSt:T:w:x:Xz"))) { + switch (c) { + case 'c': + capabilities = 1; +@@ -285,21 +283,6 @@ int main(int argc, char *argv[]) + case 'X': + getcross = 1; + break; +- case 'y': +- if (!strcasecmp(optarg, "realtime")) +- ext_clockid = CLOCK_REALTIME; +- else if (!strcasecmp(optarg, "monotonic")) +- ext_clockid = CLOCK_MONOTONIC; +- else if (!strcasecmp(optarg, "monotonic-raw")) +- ext_clockid = CLOCK_MONOTONIC_RAW; +- else { +- fprintf(stderr, +- "type needs to be realtime, monotonic or monotonic-raw; was given %s\n", +- optarg); +- return -1; +- } +- break; +- + case 'z': + flagtest = 1; + break; +@@ -590,7 +573,6 @@ int main(int argc, char *argv[]) + } + + soe->n_samples = getextended; +- soe->clockid = ext_clockid; + + if (ioctl(fd, PTP_SYS_OFFSET_EXTENDED, soe)) { + perror("PTP_SYS_OFFSET_EXTENDED"); +@@ -599,46 +581,12 @@ int main(int argc, char *argv[]) + getextended); + + for (i = 0; i < getextended; i++) { +- switch (ext_clockid) { +- case CLOCK_REALTIME: +- printf("sample #%2d: real time before: %lld.%09u\n", +- i, soe->ts[i][0].sec, +- soe->ts[i][0].nsec); +- break; +- case CLOCK_MONOTONIC: +- printf("sample #%2d: monotonic time before: %lld.%09u\n", +- i, soe->ts[i][0].sec, +- soe->ts[i][0].nsec); +- break; +- case CLOCK_MONOTONIC_RAW: +- printf("sample #%2d: monotonic-raw time before: %lld.%09u\n", +- i, soe->ts[i][0].sec, +- soe->ts[i][0].nsec); +- break; +- default: +- break; +- } ++ printf("sample #%2d: system time before: %lld.%09u\n", ++ i, soe->ts[i][0].sec, soe->ts[i][0].nsec); + printf(" phc time: %lld.%09u\n", + soe->ts[i][1].sec, soe->ts[i][1].nsec); +- switch (ext_clockid) { +- case CLOCK_REALTIME: +- printf(" real time after: %lld.%09u\n", +- soe->ts[i][2].sec, +- soe->ts[i][2].nsec); +- break; +- case CLOCK_MONOTONIC: +- printf(" monotonic time after: %lld.%09u\n", +- soe->ts[i][2].sec, +- soe->ts[i][2].nsec); +- break; +- case CLOCK_MONOTONIC_RAW: +- printf(" monotonic-raw time after: %lld.%09u\n", +- soe->ts[i][2].sec, +- soe->ts[i][2].nsec); +- break; +- default: +- break; +- } ++ printf(" system time after: %lld.%09u\n", ++ soe->ts[i][2].sec, soe->ts[i][2].nsec); + } + } + +-- +2.53.0 + diff --git a/queue-5.10/series b/queue-5.10/series index 0f93df39ae..8875b849b1 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -337,3 +337,5 @@ arm64-cputype-add-c1-premium-definitions.patch arm64-errata-mitigate-tlbi-errata-on-various-arm-cpus.patch arm64-errata-mitigate-tlbi-errata-on-nvidia-olympus-cpu.patch arm64-errata-mitigate-tlbi-errata-on-microsoft-azure-cobalt-100-cpu.patch +fbdev-vt8500lcdfb-fix-dma_free_coherent-cpu_addr-parameter.patch +revert-selftest-ptp-update-ptp-selftest-to-exercise-the-gettimex-options.patch