Skip to content

Instantly share code, notes, and snippets.

@joemiller
Created October 20, 2022 18:55
Show Gist options
  • Save joemiller/9f5698c5634d4a93d101985dc5238365 to your computer and use it in GitHub Desktop.
Save joemiller/9f5698c5634d4a93d101985dc5238365 to your computer and use it in GitHub Desktop.
openbsd 7.1 kernel patch to stop a GFE L6F ACPI interrupt storm
--- /usr/src/sys/dev/acpi/acpi.c.orig Mon Oct 3 16:26:55 2022
+++ /usr/src/sys/dev/acpi/acpi.c Mon Oct 3 16:30:29 2022
@@ -2269,6 +2269,18 @@
{
struct aml_node *node = arg;
uint8_t mask, en;
+
+ /* bad bios. mask/ignore the GPE _L6F (0x6f) interrupt */
+ if (gpe == 0x6f && (sc->gpe_table[gpe].flags & GPE_LEVEL)) {
+ static unsigned short i;
+ if (i == 0) {
+ i++;
+ printf("acpi_gpe %d %s IGNORING\n", gpe, node->name);
+ }
+ return (0);
+ }
+
+ printf("acpi_gpe %d %s\n", gpe, node->name);
dnprintf(10, "handling GPE %.2x\n", gpe);
aml_evalnode(sc, node, 0, NULL, NULL);
@joemiller
Copy link
Author

@bconway thank you!! that's great

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment