Skip to content

Commit

Permalink
EDAC/igen6: Fix the issue of no error events
Browse files Browse the repository at this point in the history
Current igen6_edac checks for pending errors before the registration
of the error handler. However, there is a possibility that the error
occurs during the registration process, leading to unhandled pending
errors and no future error events. This issue can be reproduced by
repeatedly injecting errors during the loading of the igen6_edac.

Fix this issue by moving the pending error handler after the registration
of the error handler, ensuring that no pending errors are left unhandled.

Fixes: 10590a9 ("EDAC/igen6: Add EDAC driver for Intel client SoCs using IBECC")
Reported-by: Ee Wey Lim <ee.wey.lim@intel.com>
Tested-by: Ee Wey Lim <ee.wey.lim@intel.com>
Signed-off-by: Qiuxu Zhuo <qiuxu.zhuo@intel.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Link: https://lore.kernel.org/r/20230725080427.23883-1-qiuxu.zhuo@intel.com
  • Loading branch information
Qiuxu Zhuo authored and Tony Luck committed Aug 2, 2023
1 parent c545f5e commit ce53ad8
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions drivers/edac/igen6_edac.c
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
#include "edac_mc.h"
#include "edac_module.h"

#define IGEN6_REVISION "v2.5"
#define IGEN6_REVISION "v2.5.1"

#define EDAC_MOD_STR "igen6_edac"
#define IGEN6_NMI_NAME "igen6_ibecc"
Expand Down Expand Up @@ -1216,9 +1216,6 @@ static int igen6_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
INIT_WORK(&ecclog_work, ecclog_work_cb);
init_irq_work(&ecclog_irq_work, ecclog_irq_work_cb);

/* Check if any pending errors before registering the NMI handler */
ecclog_handler();

rc = register_err_handler();
if (rc)
goto fail3;
Expand All @@ -1230,6 +1227,9 @@ static int igen6_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
goto fail4;
}

/* Check if any pending errors before/during the registration of the error handler */
ecclog_handler();

igen6_debug_setup();
return 0;
fail4:
Expand Down

0 comments on commit ce53ad8

Please sign in to comment.