Message ID | 1372776948-24840-6-git-send-email-coelho@ti.com (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
On Tue, Jul 02, 2013 at 05:55:44PM +0300, Luciano Coelho wrote: > Since we are now using threaded IRQs without the primary handler, we > need to set IRQF_ONESHOT, otherwise our request will fail. > > Signed-off-by: Luciano Coelho <coelho@ti.com> good to see this happening, I remember we talked about this a while back :-) Acked-by: Felipe Balbi <balbi@ti.com> Still, if you call irq_set_irq_type() on board-file (since DT will do something similar for you anyway) then you can completely drop irq_flags.
On Tue, 2013-07-02 at 18:32 +0300, Felipe Balbi wrote: > On Tue, Jul 02, 2013 at 05:55:44PM +0300, Luciano Coelho wrote: > > Since we are now using threaded IRQs without the primary handler, we > > need to set IRQF_ONESHOT, otherwise our request will fail. > > > > Signed-off-by: Luciano Coelho <coelho@ti.com> > > good to see this happening, I remember we talked about this a while back > :-) Yeah, we talked about it and I did the patch immediately. This is needed because this is obviously not set automatically in the interrupts created via device tree. > Acked-by: Felipe Balbi <balbi@ti.com> > > Still, if you call irq_set_irq_type() on board-file (since DT will do > something similar for you anyway) then you can completely drop > irq_flags. Yep. -- Luca. -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/wireless/ti/wlcore/main.c b/drivers/net/wireless/ti/wlcore/main.c index d306cd5..bc1cff3 100644 --- a/drivers/net/wireless/ti/wlcore/main.c +++ b/drivers/net/wireless/ti/wlcore/main.c @@ -5927,7 +5927,8 @@ static void wlcore_nvs_cb(const struct firmware *fw, void *context) wl->irq = platform_get_irq(pdev, 0); wl->if_ops = pdev_data->if_ops; - wl->irq_flags = pdata->irq_flags; + /* Since we don't use the primary handler, we must set ONESHOT */ + wl->irq_flags = pdata->irq_flags | IRQF_ONESHOT; ret = request_threaded_irq(wl->irq, NULL, wlcore_irq, wl->irq_flags, pdev->name, wl);
Since we are now using threaded IRQs without the primary handler, we need to set IRQF_ONESHOT, otherwise our request will fail. Signed-off-by: Luciano Coelho <coelho@ti.com> --- drivers/net/wireless/ti/wlcore/main.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)