Skip to content

Commit ce53ad8

Browse files
qzhuo2aegl
authored andcommitted
EDAC/igen6: Fix the issue of no error events
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
1 parent c545f5e commit ce53ad8

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

drivers/edac/igen6_edac.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
#include "edac_mc.h"
2828
#include "edac_module.h"
2929

30-
#define IGEN6_REVISION "v2.5"
30+
#define IGEN6_REVISION "v2.5.1"
3131

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

1219-
/* Check if any pending errors before registering the NMI handler */
1220-
ecclog_handler();
1221-
12221219
rc = register_err_handler();
12231220
if (rc)
12241221
goto fail3;
@@ -1230,6 +1227,9 @@ static int igen6_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
12301227
goto fail4;
12311228
}
12321229

1230+
/* Check if any pending errors before/during the registration of the error handler */
1231+
ecclog_handler();
1232+
12331233
igen6_debug_setup();
12341234
return 0;
12351235
fail4:

0 commit comments

Comments
 (0)