summaryrefslogtreecommitdiffstats
path: root/sys/contrib/dev/acpica/rsirq.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/contrib/dev/acpica/rsirq.c')
-rw-r--r--sys/contrib/dev/acpica/rsirq.c21
1 files changed, 10 insertions, 11 deletions
diff --git a/sys/contrib/dev/acpica/rsirq.c b/sys/contrib/dev/acpica/rsirq.c
index 79afd1e..12bc827 100644
--- a/sys/contrib/dev/acpica/rsirq.c
+++ b/sys/contrib/dev/acpica/rsirq.c
@@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: rsirq - IRQ resource descriptors
- * $Revision: 28 $
+ * $Revision: 30 $
*
******************************************************************************/
@@ -190,18 +190,16 @@ AcpiRsIrqResource (
}
}
- if (i == 0)
- {
- /* Zero interrupts is invalid! */
+ /* Zero interrupts is valid */
- return_ACPI_STATUS (AE_BAD_DATA);
- }
OutputStruct->Data.Irq.NumberOfInterrupts = i;
-
- /*
- * Calculate the structure size based upon the number of interrupts
- */
- StructSize += ((ACPI_SIZE) OutputStruct->Data.Irq.NumberOfInterrupts - 1) * 4;
+ if (i > 0)
+ {
+ /*
+ * Calculate the structure size based upon the number of interrupts
+ */
+ StructSize += ((ACPI_SIZE) i - 1) * 4;
+ }
/*
* Point to Byte 3 if it is used
@@ -233,6 +231,7 @@ AcpiRsIrqResource (
* are allowed (ACPI spec v1.0b ection 6.4.2.1),
* so an error will occur if we reach this point
*/
+ ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "Invalid interrupt polarity/trigger in resource list\n"));
return_ACPI_STATUS (AE_BAD_DATA);
}
}
OpenPOWER on IntegriCloud