diff options
Diffstat (limited to 'src/drivers/intel/fsp2_0/notify.c')
-rw-r--r-- | src/drivers/intel/fsp2_0/notify.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/drivers/intel/fsp2_0/notify.c b/src/drivers/intel/fsp2_0/notify.c index f848986cc1..880c44d83e 100644 --- a/src/drivers/intel/fsp2_0/notify.c +++ b/src/drivers/intel/fsp2_0/notify.c @@ -17,14 +17,14 @@ #include <string.h> #include <timestamp.h> -enum fsp_status fsp_notify(enum fsp_notify_phase phase) +void fsp_notify(enum fsp_notify_phase phase) { enum fsp_status ret; fsp_notify_fn fspnotify; struct fsp_notify_params notify_params = { .phase = phase }; - if (!fsps_hdr.silicon_init_entry_offset) - return FSP_NOT_FOUND; + if (!fsps_hdr.notify_phase_entry_offset) + die("Notify_phase_entry_offset is zero!\n"); fspnotify = (void*) (fsps_hdr.image_base + fsps_hdr.notify_phase_entry_offset); @@ -49,5 +49,10 @@ enum fsp_status fsp_notify(enum fsp_notify_phase phase) } fsp_debug_after_notify(ret); - return ret; + /* Handle any errors returned by FspNotify */ + fsp_handle_reset(ret); + if (ret != FSP_SUCCESS) { + printk(BIOS_SPEW, "FspNotify returned 0x%08x\n", ret); + die("FspNotify returned an error!\n"); + } } |