All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rob Herring <robherring2@gmail.com>
To: Linus Walleij <linus.walleij@stericsson.com>
Cc: linux-kernel@vger.kernel.org,
	Thomas Gleixner <tglx@linutronix.de>,
	Linus Walleij <linus.walleij@linaro.org>,
	Jamie Iles <jamie@jamieiles.com>,
	Marc Zyngier <marc.zyngier@arm.com>
Subject: Re: [PATCH] irq: fix crash due to op-less irq domains
Date: Wed, 14 Dec 2011 16:14:53 -0600	[thread overview]
Message-ID: <4EE91FDD.5070206@gmail.com> (raw)
In-Reply-To: <1323896156-20692-1-git-send-email-linus.walleij@stericsson.com>

Linus,

On 12/14/2011 02:55 PM, Linus Walleij wrote:
> From: Linus Walleij <linus.walleij@linaro.org>
> 
> IRQ domains without ops does not work anymore after commit
> "irq: support domains with non-zero hwirq base", since the
> check dereferences domain->ops->to_irq without checking of
> domain->ops are NULL. This makes U300 (and probably most other
> systems using the PL190 VIC) boot again.

I thought the VIC series had the fix for this, but it seems not. NULL
ops is considered invalid based on the code comments. The correct fix is
this patch:

irqdomain: export irq_domain_simple_ops for !CONFIG_OF
http://www.spinics.net/lists/arm-kernel/msg150290.html

I believe this is going in with some iMX changes. But I guess the VIC is
going to need a fix to use irq_domain_simple_ops.

Rob

> Cc: Rob Herring <rob.herring@calxeda.com>
> Cc: Thomas Gleixner <tglx@linutronix.de>
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> ---
>  include/linux/irqdomain.h |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/include/linux/irqdomain.h b/include/linux/irqdomain.h
> index 99834e58..78a1e66 100644
> --- a/include/linux/irqdomain.h
> +++ b/include/linux/irqdomain.h
> @@ -74,7 +74,7 @@ struct irq_domain {
>  static inline unsigned int irq_domain_to_irq(struct irq_domain *d,
>  					     unsigned long hwirq)
>  {
> -	if (d->ops->to_irq)
> +	if (d->ops && d->ops->to_irq)
>  		return d->ops->to_irq(d, hwirq);
>  	if (WARN_ON(hwirq < d->hwirq_base))
>  		return 0;

  reply	other threads:[~2011-12-14 22:15 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-14 20:55 [PATCH] irq: fix crash due to op-less irq domains Linus Walleij
2011-12-14 22:14 ` Rob Herring [this message]
2011-12-14 22:22   ` Jamie Iles
2011-12-14 22:26     ` Linus Walleij
2011-12-14 22:24   ` Linus Walleij
2011-12-15  7:03     ` Mark Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4EE91FDD.5070206@gmail.com \
    --to=robherring2@gmail.com \
    --cc=jamie@jamieiles.com \
    --cc=linus.walleij@linaro.org \
    --cc=linus.walleij@stericsson.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=marc.zyngier@arm.com \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.