Messages in this thread | | | Date | Sun, 31 Jul 2011 02:19:11 +0200 | Subject | Re: [PATCH 09/18] dmaengine/amba-pl08x: Schedule tasklet in case of error interrupt | From | Linus Walleij <> |
| |
2011/7/29 Viresh Kumar <viresh.kumar@st.com>:
(...) > - u32 mask = 0; (...) > + if (!err && !tc) > + return IRQ_NONE; (...) > - > - mask |= (1 << i); > - /* Clear only the terminal interrupts on channels we processed */ > - writel(mask, pl08x->base + PL080_TC_CLEAR); > > - return mask ? IRQ_HANDLED : IRQ_NONE; > + return IRQ_HANDLED;
NAK.
These snippets illustrate what is not good about this patch, you're making the driver fragile by removing checks for spurious IRQ.
So for example if there is an error or TC IRQ on a channel that is not in use, what happens now?
It used to result in IRQ_NONE, now all of a sudden we start handling spurious IRQs and claim IRQ_HANDLED with totally unpredictable results, whereas they would previously gather error metrics for spurious IRQs.
Yours, Linus Walleij -- 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/
| |