Re: NULL pointer in ia64/irq_chip-mask/unmask function (V2)

From: Eric W. Biederman <ebiederm_at_xmission.com>
Date: 2007-03-08 09:20:55
"Luck, Tony" <tony.luck@intel.com> writes:

> This patch now has an extra piece for the SGI specific
> occurance of the same context (as noted by Eric).  Just
> posting here in case I misunderstood, or mis-typed while
> applying (especially as to make this complile I had to make
> mask_irq() and unmasq_irq() global instead of static).

This patch appears wrong.

The mask/unmask methods are specific to an interrupt handler type,
so I think the mask_irq/unmask_irq methods you made global actually
happen to be iosapic specific.

The point of masking the irq when we are moving it is to ensure the
operation is atomic, and we won't get an irq sent to some halfway
state.

That said sn looks to be doing something fishing (SAL calls and
a whole extra layer of interrupt functions) and it seems not
to implement disable or enable methods so implementing a noop
mask/unmask operation is probably appropriate.

The change that triggered this is the function
move_native_irq was modified to call mask/unmask instead
of enable/disable as the default enable/disable routines
are noops that delay masking the interrupt until it occurs
one more time.  Those semantics were completely inappropriate
for reprogramming the interrupt controller although they were
perfectly fine for drivers.

Eric
-
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Received on Thu Mar 08 09:21:46 2007

This archive was generated by hypermail 2.1.8 : 2007-03-08 09:22:01 EST