aboutsummaryrefslogtreecommitdiff
path: root/hw/fsp
diff options
context:
space:
mode:
authorMukesh Ojha <mukesh02@linux.vnet.ibm.com>2016-09-07 15:51:16 +0530
committerStewart Smith <stewart@linux.vnet.ibm.com>2016-10-25 20:12:06 +1100
commit6e1a11461d112ef0c7dbde0166a27b57fe17a115 (patch)
treeef2517e424a203e136a20a4498061748885f3021 /hw/fsp
parenta125d242fa2e4b614ce4ac1085fb17ab075b180f (diff)
downloadskiboot-6e1a11461d112ef0c7dbde0166a27b57fe17a115.zip
skiboot-6e1a11461d112ef0c7dbde0166a27b57fe17a115.tar.gz
skiboot-6e1a11461d112ef0c7dbde0166a27b57fe17a115.tar.bz2
errorlog: Remove the elog enable check from 'fsp_elog_check_and_fetch_head'
We use 'elog_enabled' flag to check whether host OS is ready to receive error log or not. This is nothing to do with reading error log from service processor. This patch is to remove the check and keep this 'elog_enabled' free from FSP specific code and move it into core/errorlog.c in later upcoming patches. With this changes, in some corner cases we may endup reading same error log twice from FSP. It happens as we call 'elog_reject_head' inside 'fsp_opal_resend_pending_logs' which makes the state either 'ELOG_STATE_REJECTED' or 'ELOG_STATE_NONE'. So, a call to 'fsp_elog_check_and_fetch_head' routine ends up reading the error log from FSP which was already read. This case happens twice in a reboot as whenever 'fsp_opal_resend_pending_logs' gets called. So, we can ignore it. Signed-off-by: Mukesh Ojha <mukesh02@linux.vnet.ibm.com> Reviewed-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'hw/fsp')
-rw-r--r--hw/fsp/fsp-elog-read.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/hw/fsp/fsp-elog-read.c b/hw/fsp/fsp-elog-read.c
index 351b3bd..ec5316e 100644
--- a/hw/fsp/fsp-elog-read.c
+++ b/hw/fsp/fsp-elog-read.c
@@ -127,9 +127,6 @@ static int64_t fsp_send_elog_ack(uint32_t log_id)
/* Retrieve error log from FSP with TCE for the data transfer. */
static void fsp_elog_check_and_fetch_head(void)
{
- if (!elog_enabled)
- return;
-
lock(&elog_read_lock);
if (elog_read_from_fsp_head_state != ELOG_STATE_NONE ||
list_empty(&elog_read_pending)) {