lkml.org 
[lkml]   [2011]   [Nov]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH 1/4] twl4030-irq: Base interrupt must be one-shot
    As the interrupt source is only cleared by the threaded interrupt
    service routine, we need to make the base interrupt IRQF_ONESHOT.
    Without this, the first interrupt from the TWL4030 cause the CPU to
    enter an infinite loop trying to handle to interrupt but never
    clearing it.

    Signed-off-by: NeilBrown <neilb@suse.de>
    ---

    drivers/mfd/twl4030-irq.c | 5 +++--
    1 files changed, 3 insertions(+), 2 deletions(-)

    diff --git a/drivers/mfd/twl4030-irq.c b/drivers/mfd/twl4030-irq.c
    index f062c8c..3d3d6ed 100644
    --- a/drivers/mfd/twl4030-irq.c
    +++ b/drivers/mfd/twl4030-irq.c
    @@ -733,8 +733,9 @@ int twl4030_init_irq(int irq_num, unsigned irq_base, unsigned irq_end)
    }

    /* install an irq handler to demultiplex the TWL4030 interrupt */
    - status = request_threaded_irq(irq_num, NULL, handle_twl4030_pih, 0,
    - "TWL4030-PIH", NULL);
    + status = request_threaded_irq(irq_num, NULL, handle_twl4030_pih,
    + IRQF_ONESHOT,
    + "TWL4030-PIH", NULL);
    if (status < 0) {
    pr_err("twl4030: could not claim irq%d: %d\n", irq_num, status);
    goto fail_rqirq;



    \
     
     \ /
      Last update: 2011-11-26 21:21    [W:0.019 / U:29.712 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site