aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/apei
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/acpi/apei')
-rw-r--r--drivers/acpi/apei/einj.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/drivers/acpi/apei/einj.c b/drivers/acpi/apei/einj.c
index 3d3816f6d367..8e1793649ec0 100644
--- a/drivers/acpi/apei/einj.c
+++ b/drivers/acpi/apei/einj.c
@@ -74,6 +74,8 @@ struct vendor_error_type_extension {
74 u8 reserved[3]; 74 u8 reserved[3];
75}; 75};
76 76
77static u32 notrigger;
78
77static u32 vendor_flags; 79static u32 vendor_flags;
78static struct debugfs_blob_wrapper vendor_blob; 80static struct debugfs_blob_wrapper vendor_blob;
79static char vendor_dev[64]; 81static char vendor_dev[64];
@@ -496,9 +498,11 @@ static int __einj_error_inject(u32 type, u64 param1, u64 param2)
496 if (rc) 498 if (rc)
497 return rc; 499 return rc;
498 trigger_paddr = apei_exec_ctx_get_output(&ctx); 500 trigger_paddr = apei_exec_ctx_get_output(&ctx);
499 rc = __einj_error_trigger(trigger_paddr, type, param1, param2); 501 if (notrigger == 0) {
500 if (rc) 502 rc = __einj_error_trigger(trigger_paddr, type, param1, param2);
501 return rc; 503 if (rc)
504 return rc;
505 }
502 rc = apei_exec_run_optional(&ctx, ACPI_EINJ_END_OPERATION); 506 rc = apei_exec_run_optional(&ctx, ACPI_EINJ_END_OPERATION);
503 507
504 return rc; 508 return rc;
@@ -700,6 +704,11 @@ static int __init einj_init(void)
700 einj_debug_dir, &error_param2); 704 einj_debug_dir, &error_param2);
701 if (!fentry) 705 if (!fentry)
702 goto err_unmap; 706 goto err_unmap;
707
708 fentry = debugfs_create_x32("notrigger", S_IRUSR | S_IWUSR,
709 einj_debug_dir, &notrigger);
710 if (!fentry)
711 goto err_unmap;
703 } 712 }
704 713
705 if (vendor_dev[0]) { 714 if (vendor_dev[0]) {