From 0f22aac8c86ae3332f78c70b212d88b72a65cfda Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Tue, 11 Nov 2025 09:40:30 +0900 Subject: [PATCH] 6.6-stable patches added patches: drm-amd-display-fix-black-screen-with-hdmi-outputs.patch drm-amdgpu-fix-function-header-names-in-amdgpu_connectors.c.patch extcon-adc-jack-cleanup-wakeup-source-only-if-it-was-enabled.patch riscv-stacktrace-fix-backtracing-through-exceptions.patch selftests-netdevsim-set-test-timeout-to-10-minutes.patch --- ...y-fix-black-screen-with-hdmi-outputs.patch | 44 +++++++++++++ ...-header-names-in-amdgpu_connectors.c.patch | 64 +++++++++++++++++++ ...wakeup-source-only-if-it-was-enabled.patch | 36 +++++++++++ ...e-fix-backtracing-through-exceptions.patch | 64 +++++++++++++++++++ ...evsim-set-test-timeout-to-10-minutes.patch | 32 ++++++++++ queue-6.6/series | 5 ++ 6 files changed, 245 insertions(+) create mode 100644 queue-6.6/drm-amd-display-fix-black-screen-with-hdmi-outputs.patch create mode 100644 queue-6.6/drm-amdgpu-fix-function-header-names-in-amdgpu_connectors.c.patch create mode 100644 queue-6.6/extcon-adc-jack-cleanup-wakeup-source-only-if-it-was-enabled.patch create mode 100644 queue-6.6/riscv-stacktrace-fix-backtracing-through-exceptions.patch create mode 100644 queue-6.6/selftests-netdevsim-set-test-timeout-to-10-minutes.patch diff --git a/queue-6.6/drm-amd-display-fix-black-screen-with-hdmi-outputs.patch b/queue-6.6/drm-amd-display-fix-black-screen-with-hdmi-outputs.patch new file mode 100644 index 0000000000..a27f9ed2c6 --- /dev/null +++ b/queue-6.6/drm-amd-display-fix-black-screen-with-hdmi-outputs.patch @@ -0,0 +1,44 @@ +From fdc93beeadc2439e5e85d056a8fe681dcced09da Mon Sep 17 00:00:00 2001 +From: Alex Hung +Date: Wed, 22 Oct 2025 16:19:34 -0600 +Subject: drm/amd/display: Fix black screen with HDMI outputs +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Alex Hung + +commit fdc93beeadc2439e5e85d056a8fe681dcced09da upstream. + +[Why & How] +This fixes the black screen issue on certain APUs with HDMI, +accompanied by the following messages: + +amdgpu 0000:c4:00.0: amdgpu: [drm] Failed to setup vendor info + frame on connector DP-1: -22 +amdgpu 0000:c4:00.0: [drm] Cannot find any crtc or sizes [drm] + Cannot find any crtc or sizes + +Fixes: 489f0f600ce2 ("drm/amd/display: Fix DVI-D/HDMI adapters") +Suggested-by: Timur Kristóf +Reviewed-by: Harry Wentland +Signed-off-by: Alex Hung +Signed-off-by: Ray Wu +Tested-by: Daniel Wheeler +Signed-off-by: Alex Deucher +(cherry picked from commit 678c901443a6d2e909e3b51331a20f9d8f84ce82) +Signed-off-by: Greg Kroah-Hartman +--- + drivers/gpu/drm/amd/display/dc/link/link_detection.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/drivers/gpu/drm/amd/display/dc/link/link_detection.c ++++ b/drivers/gpu/drm/amd/display/dc/link/link_detection.c +@@ -1114,6 +1114,7 @@ static bool detect_link_and_local_sink(s + !sink->edid_caps.edid_hdmi) + sink->sink_signal = SIGNAL_TYPE_DVI_SINGLE_LINK; + else if (dc_is_dvi_signal(sink->sink_signal) && ++ dc_is_dvi_signal(link->connector_signal) && + aud_support->hdmi_audio_native && + sink->edid_caps.edid_hdmi) + sink->sink_signal = SIGNAL_TYPE_HDMI_TYPE_A; diff --git a/queue-6.6/drm-amdgpu-fix-function-header-names-in-amdgpu_connectors.c.patch b/queue-6.6/drm-amdgpu-fix-function-header-names-in-amdgpu_connectors.c.patch new file mode 100644 index 0000000000..eada40a7f0 --- /dev/null +++ b/queue-6.6/drm-amdgpu-fix-function-header-names-in-amdgpu_connectors.c.patch @@ -0,0 +1,64 @@ +From 38ab33dbea594700c8d6cc81eec0a54e95d3eb2f Mon Sep 17 00:00:00 2001 +From: Srinivasan Shanmugam +Date: Sun, 31 Aug 2025 15:29:56 +0530 +Subject: drm/amdgpu: Fix function header names in amdgpu_connectors.c +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Srinivasan Shanmugam + +commit 38ab33dbea594700c8d6cc81eec0a54e95d3eb2f upstream. + +Align the function headers for `amdgpu_max_hdmi_pixel_clock` and +`amdgpu_connector_dvi_mode_valid` with the function implementations so +they match the expected kdoc style. + +Fixes the below: +drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c:1199: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst + * Returns the maximum supported HDMI (TMDS) pixel clock in KHz. +drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c:1212: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst + * Validates the given display mode on DVI and HDMI connectors. + +Fixes: 585b2f685c56 ("drm/amdgpu: Respect max pixel clock for HDMI and DVI-D (v2)") +Cc: Christian König +Cc: Alex Deucher +Signed-off-by: Srinivasan Shanmugam +Reviewed-by: Alex Deucher +Signed-off-by: Alex Deucher +Signed-off-by: Greg Kroah-Hartman +--- + drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c | 15 ++++++++++++--- + 1 file changed, 12 insertions(+), 3 deletions(-) + +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c +@@ -1206,7 +1206,10 @@ static void amdgpu_connector_dvi_force(s + } + + /** +- * Returns the maximum supported HDMI (TMDS) pixel clock in KHz. ++ * amdgpu_max_hdmi_pixel_clock - Return max supported HDMI (TMDS) pixel clock ++ * @adev: pointer to amdgpu_device ++ * ++ * Return: maximum supported HDMI (TMDS) pixel clock in KHz. + */ + static int amdgpu_max_hdmi_pixel_clock(const struct amdgpu_device *adev) + { +@@ -1219,8 +1222,14 @@ static int amdgpu_max_hdmi_pixel_clock(c + } + + /** +- * Validates the given display mode on DVI and HDMI connectors, +- * including analog signals on DVI-I. ++ * amdgpu_connector_dvi_mode_valid - Validate a mode on DVI/HDMI connectors ++ * @connector: DRM connector to validate the mode on ++ * @mode: display mode to validate ++ * ++ * Validate the given display mode on DVI and HDMI connectors, including ++ * analog signals on DVI-I. ++ * ++ * Return: drm_mode_status indicating whether the mode is valid. + */ + static enum drm_mode_status amdgpu_connector_dvi_mode_valid(struct drm_connector *connector, + struct drm_display_mode *mode) diff --git a/queue-6.6/extcon-adc-jack-cleanup-wakeup-source-only-if-it-was-enabled.patch b/queue-6.6/extcon-adc-jack-cleanup-wakeup-source-only-if-it-was-enabled.patch new file mode 100644 index 0000000000..d5e0ea2cfb --- /dev/null +++ b/queue-6.6/extcon-adc-jack-cleanup-wakeup-source-only-if-it-was-enabled.patch @@ -0,0 +1,36 @@ +From 92bac7d4de9c07933f6b76d8f1c7f8240f911f4f Mon Sep 17 00:00:00 2001 +From: Krzysztof Kozlowski +Date: Fri, 9 May 2025 09:17:04 +0200 +Subject: extcon: adc-jack: Cleanup wakeup source only if it was enabled + +From: Krzysztof Kozlowski + +commit 92bac7d4de9c07933f6b76d8f1c7f8240f911f4f upstream. + +Driver in the probe enables wakeup source conditionally, so the cleanup +path should do the same - do not release the wakeup source memory if it +was not allocated. + +Link: https://lore.kernel.org/lkml/20250509071703.39442-2-krzysztof.kozlowski@linaro.org/ +Reported-by: Christophe JAILLET +Closes: https://lore.kernel.org/r/22aaebb7-553b-4571-8a43-58a523241082@wanadoo.fr/ +Fixes: 78b6a991eb6c ("extcon: adc-jack: Fix wakeup source leaks on device unbind") +Signed-off-by: Krzysztof Kozlowski +Signed-off-by: Chanwoo Choi +Signed-off-by: Greg Kroah-Hartman +--- + drivers/extcon/extcon-adc-jack.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/drivers/extcon/extcon-adc-jack.c ++++ b/drivers/extcon/extcon-adc-jack.c +@@ -162,7 +162,8 @@ static int adc_jack_remove(struct platfo + { + struct adc_jack_data *data = platform_get_drvdata(pdev); + +- device_init_wakeup(&pdev->dev, false); ++ if (data->wakeup_source) ++ device_init_wakeup(&pdev->dev, false); + free_irq(data->irq, data); + cancel_work_sync(&data->handler.work); + diff --git a/queue-6.6/riscv-stacktrace-fix-backtracing-through-exceptions.patch b/queue-6.6/riscv-stacktrace-fix-backtracing-through-exceptions.patch new file mode 100644 index 0000000000..8c870149d3 --- /dev/null +++ b/queue-6.6/riscv-stacktrace-fix-backtracing-through-exceptions.patch @@ -0,0 +1,64 @@ +From 51356ce60e5915a6bd812873186ed54e45c2699d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Cl=C3=A9ment=20L=C3=A9ger?= +Date: Mon, 9 Dec 2024 16:57:12 +0100 +Subject: riscv: stacktrace: fix backtracing through exceptions +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Clément Léger + +commit 51356ce60e5915a6bd812873186ed54e45c2699d upstream. + +Prior to commit 5d5fc33ce58e ("riscv: Improve exception and system call +latency"), backtrace through exception worked since ra was filled with +ret_from_exception symbol address and the stacktrace code checked 'pc' to +be equal to that symbol. Now that handle_exception uses regular 'call' +instructions, this isn't working anymore and backtrace stops at +handle_exception(). Since there are multiple call site to C code in the +exception handling path, rather than checking multiple potential return +addresses, add a new symbol at the end of exception handling and check pc +to be in that range. + +Fixes: 5d5fc33ce58e ("riscv: Improve exception and system call latency") +Signed-off-by: Clément Léger +Tested-by: Alexandre Ghiti +Reviewed-by: Alexandre Ghiti +Link: https://lore.kernel.org/r/20241209155714.1239665-1-cleger@rivosinc.com +Signed-off-by: Palmer Dabbelt +Signed-off-by: Greg Kroah-Hartman +--- + arch/riscv/kernel/entry.S | 1 + + arch/riscv/kernel/stacktrace.c | 4 +++- + 2 files changed, 4 insertions(+), 1 deletion(-) + +--- a/arch/riscv/kernel/entry.S ++++ b/arch/riscv/kernel/entry.S +@@ -174,6 +174,7 @@ SYM_CODE_START_NOALIGN(ret_from_exceptio + #else + sret + #endif ++SYM_INNER_LABEL(ret_from_exception_end, SYM_L_GLOBAL) + SYM_CODE_END(ret_from_exception) + ASM_NOKPROBE(ret_from_exception) + +--- a/arch/riscv/kernel/stacktrace.c ++++ b/arch/riscv/kernel/stacktrace.c +@@ -33,6 +33,7 @@ + }) + + extern asmlinkage void handle_exception(void); ++extern unsigned long ret_from_exception_end; + + static inline int fp_is_valid(unsigned long fp, unsigned long sp) + { +@@ -88,7 +89,8 @@ void notrace walk_stackframe(struct task + pc = READ_ONCE_TASK_STACK(task, frame->ra); + pc = ftrace_graph_ret_addr(current, &graph_idx, pc, + &frame->ra); +- if (pc == (unsigned long)handle_exception) { ++ if (pc >= (unsigned long)handle_exception && ++ pc < (unsigned long)&ret_from_exception_end) { + if (unlikely(!__kernel_text_address(pc) || !fn(arg, pc))) + break; + diff --git a/queue-6.6/selftests-netdevsim-set-test-timeout-to-10-minutes.patch b/queue-6.6/selftests-netdevsim-set-test-timeout-to-10-minutes.patch new file mode 100644 index 0000000000..2a8166f4ce --- /dev/null +++ b/queue-6.6/selftests-netdevsim-set-test-timeout-to-10-minutes.patch @@ -0,0 +1,32 @@ +From afbf75e8da8ce8a0698212953d350697bb4355a6 Mon Sep 17 00:00:00 2001 +From: Jakub Kicinski +Date: Mon, 25 Mar 2024 08:56:11 -0700 +Subject: selftests: netdevsim: set test timeout to 10 minutes + +From: Jakub Kicinski + +commit afbf75e8da8ce8a0698212953d350697bb4355a6 upstream. + +The longest running netdevsim test, nexthop.sh, currently takes +5 min to finish. Around 260s to be exact, and 310s on a debug kernel. +The default timeout in selftest is 45sec, so we need an explicit +config. Give ourselves some headroom and use 10min. + +Commit under Fixes isn't really to "blame" but prior to that +netdevsim tests weren't integrated with kselftest infra +so blaming the tests themselves doesn't seem right, either. + +Fixes: 8ff25dac88f6 ("netdevsim: add Makefile for selftests") +Signed-off-by: Jakub Kicinski +Reviewed-by: Simon Horman +Signed-off-by: David S. Miller +Signed-off-by: Greg Kroah-Hartman +--- + tools/testing/selftests/drivers/net/netdevsim/settings | 1 + + 1 file changed, 1 insertion(+) + create mode 100644 tools/testing/selftests/drivers/net/netdevsim/settings + +--- /dev/null ++++ b/tools/testing/selftests/drivers/net/netdevsim/settings +@@ -0,0 +1 @@ ++timeout=600 diff --git a/queue-6.6/series b/queue-6.6/series index 03065ed1f1..5bf14e0028 100644 --- a/queue-6.6/series +++ b/queue-6.6/series @@ -369,3 +369,8 @@ smb-client-fix-potential-uaf-in-smb2_close_cached_fid.patch virtio-net-fix-received-length-check-in-big-packets.patch lib-crypto-curve25519-hacl64-fix-older-clang-kasan-workaround-for-gcc.patch scsi-ufs-ufs-pci-fix-s0ix-s3-for-intel-controllers.patch +extcon-adc-jack-cleanup-wakeup-source-only-if-it-was-enabled.patch +drm-amdgpu-fix-function-header-names-in-amdgpu_connectors.c.patch +drm-amd-display-fix-black-screen-with-hdmi-outputs.patch +riscv-stacktrace-fix-backtracing-through-exceptions.patch +selftests-netdevsim-set-test-timeout-to-10-minutes.patch -- 2.47.3