summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/riscv/lib/interrupts.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/riscv/lib/interrupts.c b/arch/riscv/lib/interrupts.c
index cd47e64487..8ff40f0f36 100644
--- a/arch/riscv/lib/interrupts.c
+++ b/arch/riscv/lib/interrupts.c
@@ -111,6 +111,9 @@ ulong handle_trap(ulong cause, ulong epc, ulong tval, struct pt_regs *regs)
{
ulong is_irq, irq;
+ /* An UEFI application may have changed gd. Restore U-Boot's gd. */
+ efi_restore_gd();
+
is_irq = (cause & MCAUSE_INT);
irq = (cause & ~MCAUSE_INT);