[lkml]   [2011]   [Aug]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH] tty: omap-serial: fix boot hang by converting to use a threaded IRQ handler (was Re: [PATCH] irq: always set IRQF_ONESHOT if no primary handler is specified)
    * Paul Walmsley | 2011-08-22 23:10:21 [-0600]:

    >IRQ handler type mismatch for IRQ 74

    >It turns out that the omap-serial code used one threaded IRQ
    >handler[1][2] and one non-threaded IRQ handler[3] that shared the same
    >IRQ. During the 3.1-rc series, a patch was merged[4] that caused
    >IRQF_ONESHOT to be set on the threaded handler, but the non-threaded
    >handler did not have IRQF_ONESHOT set. Since interrupt handlers

    Is the type of IRQ74 edge or line/eoi?
    Since you registered the serial handler as threaded and the primary
    handler did _not_ disable the irq source (due to the absence of the
    IRQF_ONESHOT flag or a custom primary handler which does this by
    changing a bit in the hardware) it is more or less luck that you did not
    hang forever on the first serial interrupt. Well, it does not happen
    with edge typed interrupt lines.

    >that share the same IRQ must also share the presence or absence of
    >IRQF_ONESHOT[5], this new commit caused a mismatch that prevented the
    >non-threaded IRQ from registering.

    In theory it should be okay if the handler without ONESHOT is either
    primary only or primary + threaded and the primary disables the irq


     \ /
      Last update: 2011-08-23 10:17    [W:0.021 / U:13.748 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site