Re: [PATCH] HVC: do not request the irq twice.

From: Christian Borntraeger
Date: Thu Jan 22 2009 - 14:10:38 EST


Am Thursday 22 January 2009 18:56:08 schrieb Ian Campbell:
> --- a/drivers/char/hvc_irq.c
> +++ b/drivers/char/hvc_irq.c
> @@ -28,6 +28,10 @@ int notifier_add_irq(struct hvc_struct *hp, int irq)
> hp->irq_requested = 0;
> return 0;
> }
> +
> + if (hp->irq_requested)
> + return 0;
> +
> rc = request_irq(irq, hvc_handle_interrupt, IRQF_DISABLED,
> "hvc_console", hp);
> if (!rc)

Unfortunately I have no system with an irq based hvc console - I cannot test
this patch. Anyway, the patch looks sane:

Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>

If this really fixes a problem, I am asking myself, if notifier_del can be
called several times as well. If yes, it might be better to call free_irq at
the last notifier_del - which means we need proper refcounting. Otherwise the
console switches into polling mode....

Christian, blaming Rusty for using hvc_console in virtio_console which made me
somehow responsible for this code... ;-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/