|
@@ -906,11 +906,15 @@ static acpi_status hpet_resources(struct acpi_resource *res, void *data)
|
|
|
if (irqp->number_of_interrupts > 0) {
|
|
|
hdp->hd_nirqs = irqp->number_of_interrupts;
|
|
|
|
|
|
- for (i = 0; i < hdp->hd_nirqs; i++)
|
|
|
- hdp->hd_irq[i] =
|
|
|
+ for (i = 0; i < hdp->hd_nirqs; i++) {
|
|
|
+ int rc =
|
|
|
acpi_register_gsi(irqp->interrupts[i],
|
|
|
irqp->edge_level,
|
|
|
irqp->active_high_low);
|
|
|
+ if (rc < 0)
|
|
|
+ return AE_ERROR;
|
|
|
+ hdp->hd_irq[i] = rc;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|