summaryrefslogtreecommitdiffstats
path: root/target/linux/bcm27xx/patches-6.1/950-0447-drivers-dwc_otg-stop-GCC-from-patching-FIQ-functions.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/bcm27xx/patches-6.1/950-0447-drivers-dwc_otg-stop-GCC-from-patching-FIQ-functions.patch')
-rw-r--r--target/linux/bcm27xx/patches-6.1/950-0447-drivers-dwc_otg-stop-GCC-from-patching-FIQ-functions.patch43
1 files changed, 0 insertions, 43 deletions
diff --git a/target/linux/bcm27xx/patches-6.1/950-0447-drivers-dwc_otg-stop-GCC-from-patching-FIQ-functions.patch b/target/linux/bcm27xx/patches-6.1/950-0447-drivers-dwc_otg-stop-GCC-from-patching-FIQ-functions.patch
deleted file mode 100644
index f017549ee5..0000000000
--- a/target/linux/bcm27xx/patches-6.1/950-0447-drivers-dwc_otg-stop-GCC-from-patching-FIQ-functions.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 63c794845de126d36d75c7d992fa2e5221651b1b Mon Sep 17 00:00:00 2001
-From: Jonathan Bell <jonathan@raspberrypi.com>
-Date: Wed, 26 Oct 2022 17:46:44 +0100
-Subject: [PATCH] drivers: dwc_otg: stop GCC from patching FIQ
- functions
-
-Configuring GCC to use task stack protector canaries means it will
-insert calls to check functions in FIQ code. This is bad, as a) the
-FIQ's stack is banked and b) the failure invokes __stack_chk_fail which
-eventually tries to call printk(). Printing to the console inside the
-FIQ is generally fatal.
-
-Add CFLAGS to stop this happening in FIQ code.
-
-Also catch one function where notrace wasn't specified.
-
-Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
----
- drivers/usb/host/dwc_otg/Makefile | 1 +
- drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c | 2 +-
- 2 files changed, 2 insertions(+), 1 deletion(-)
-
---- a/drivers/usb/host/dwc_otg/Makefile
-+++ b/drivers/usb/host/dwc_otg/Makefile
-@@ -28,6 +28,7 @@ ccflags-y += -DDWC_LINUX
- ccflags-y += $(CFI)
- ccflags-y += $(BUS_INTERFACE)
- #ccflags-y += -DDWC_DEV_SRPCAP
-+CFLAGS_dwc_otg_fiq_fsm.o += -fno-stack-protector
-
- obj-$(CONFIG_USB_DWCOTG) += dwc_otg.o
-
---- a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c
-+++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c
-@@ -142,7 +142,7 @@ inline void fiq_fsm_spin_unlock(fiq_lock
- * fiq_fsm_restart_channel() - Poke channel enable bit for a split transaction
- * @channel: channel to re-enable
- */
--static void fiq_fsm_restart_channel(struct fiq_state *st, int n, int force)
-+static void notrace fiq_fsm_restart_channel(struct fiq_state *st, int n, int force)
- {
- hcchar_data_t hcchar = { .d32 = FIQ_READ(st->dwc_regs_base + HC_START + (HC_OFFSET * n) + HCCHAR) };
-