|
@@ -14,6 +14,11 @@ static irqreturn_t hvc_handle_interrupt(int irq, void *dev_instance)
|
|
|
/* if hvc_poll request a repoll, then kick the hvcd thread */
|
|
|
if (hvc_poll(dev_instance))
|
|
|
hvc_kick();
|
|
|
+
|
|
|
+ /*
|
|
|
+ * We're safe to always return IRQ_HANDLED as the hvcd thread will
|
|
|
+ * iterate through each hvc_struct.
|
|
|
+ */
|
|
|
return IRQ_HANDLED;
|
|
|
}
|
|
|
|
|
@@ -28,8 +33,8 @@ int notifier_add_irq(struct hvc_struct *hp, int irq)
|
|
|
hp->irq_requested = 0;
|
|
|
return 0;
|
|
|
}
|
|
|
- rc = request_irq(irq, hvc_handle_interrupt, 0,
|
|
|
- "hvc_console", hp);
|
|
|
+ rc = request_irq(irq, hvc_handle_interrupt, hp->flags,
|
|
|
+ "hvc_console", hp);
|
|
|
if (!rc)
|
|
|
hp->irq_requested = 1;
|
|
|
return rc;
|