From 2558c736a06c416e41bb35c2e6439f457e541f61 Mon Sep 17 00:00:00 2001 From: Duncan Laurie Date: Tue, 4 Sep 2012 11:11:58 -0700 Subject: [PATCH] smi: make tseg_relocate check pointer offset In case tseg_relocate() is called again on a pointer we should not relocate it again. Change-Id: Ida1f9c20dc94b448c773b14d8864afe585369119 Signed-off-by: Duncan Laurie Reviewed-on: http://review.coreboot.org/1740 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer --- src/southbridge/intel/bd82x6x/smihandler.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/southbridge/intel/bd82x6x/smihandler.c b/src/southbridge/intel/bd82x6x/smihandler.c index da5b52b413..8ed29e4675 100644 --- a/src/southbridge/intel/bd82x6x/smihandler.c +++ b/src/southbridge/intel/bd82x6x/smihandler.c @@ -65,7 +65,7 @@ u32 smi_get_tseg_base(void) void tseg_relocate(void **ptr) { /* Adjust pointer with TSEG base */ - if (*ptr) + if (*ptr && *ptr < (void*)smi_get_tseg_base()) *ptr = (void *)(((u8*)*ptr) + smi_get_tseg_base()); } #endif