diff options
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.patch | 43 |
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) }; - |