lkml.org 
[lkml]   [2008]   [Jul]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] handle failure of irqchip->set_type in setup_irq
    Hello Andrew,

    Andrew Morton wrote:
    > On Wed, 2 Jul 2008 11:17:57 +0200 Uwe Kleine-K__nig <Uwe.Kleine-Koenig@digi.com> wrote:
    >
    > > Hello,
    > >
    > > [extending the Cc: list]
    > >
    > > Uwe Kleine-K__nig wrote:
    > > > set_type returns an int but currently setup_irq ignores that.
    > > >
    > > > To save me from undoing some changes setting the IRQ_NO_BALANCING bit in
    > > > desc->flags, setting IRQ_PER_CPU in desc->status and adding the new
    > > > action to desc is only done after set_type succeeded.
    > > >
    > > > Signed-off-by: Uwe Kleine-K__nig <Uwe.Kleine-Koenig@digi.com>
    > > > ---
    > > > Hello,
    > > >
    > > > in my case set_type returns an error because gpio-key tries to use
    > > > IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING and my irq-chip can only do
    > > > one of these.
    > >
    > > up to now I didn't get any response for this patch. It addresses a real
    > > problem for my platform so I really like to have a fix in.
    > >
    > > In mmotm of 2008-07-01-21-57 kernel/irq/manage.c is touched[1],
    > > too, but git was able to automerge the change correctly when applying it
    > > on top of mmotm.
    > >
    > > For your convenience you can find the patch again at the end of this
    > > mail.
    > >
    > > Andrew: Do you can take this patch into mm?
    > >
    >
    > >From a brief squint the patch seems to be reasonable. But the
    > changelog is a bit mangled. Perhaps you could have another go when
    > resending it. Explan more clearly under what circumststances your
    > ->set_type() implementation can fail and why you require the core code
    > to handle this.
    OK.

    > Perhaps we want a dump_stack() on the error path so we can see who
    > goofed. Or a print_symbol() of desc->chip->set_type. Or perhaps not.
    I thought about a dump_stack() but considered it as too much.
    print_symbol() is a nice idea though.

    > Did you check that all the current ->set_type() implementations are
    > returning zero?
    No, I don't. But for example orion5x_gpio_set_irq_type might return
    -EINVAL. txx9_irq_set_type seems to have the same limitation as ns9xxx
    and returns -EINVAL if more than one trigger type is requested.

    Best regards
    Uwe

    --
    Uwe Kleine-König, Software Engineer
    Digi International GmbH Branch Breisach, Küferstrasse 8, 79206 Breisach, Germany
    Tax: 315/5781/0242 / VAT: DE153662976 / Reg. Amtsgericht Dortmund HRB 13962
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2008-07-02 12:13    [W:0.049 / U:0.448 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site