Commit 5c47e3ba authored by Igor Russkikh's avatar Igor Russkikh Committed by David S. Miller

net: aquantia: linkstate irq should be oneshot

Declaring threaded irq handler should also indicate the irq is
oneshot. It is oneshot indeed, because HW implements irq automasking
on trigger.

Not declaring this causes some kernel configurations to fail
on interface up, because request_threaded_irq returned an err code.

The issue was originally hidden on normal x86_64 configuration with
latest kernel, because depending on interrupt controller, irq driver
added ONESHOT flag on its own.

Issue was observed on older kernels (4.14) where no such logic exists.

Fixes: 4c83f170 ("net: aquantia: link status irq handling")
Signed-off-by: default avatarIgor Russkikh <igor.russkikh@aquantia.com>
Reported-by: default avatarMichael Symolkin <Michael.Symolkin@aquantia.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent c2ef057e
...@@ -393,7 +393,7 @@ int aq_nic_start(struct aq_nic_s *self) ...@@ -393,7 +393,7 @@ int aq_nic_start(struct aq_nic_s *self)
self->aq_nic_cfg.link_irq_vec); self->aq_nic_cfg.link_irq_vec);
err = request_threaded_irq(irqvec, NULL, err = request_threaded_irq(irqvec, NULL,
aq_linkstate_threaded_isr, aq_linkstate_threaded_isr,
IRQF_SHARED, IRQF_SHARED | IRQF_ONESHOT,
self->ndev->name, self); self->ndev->name, self);
if (err < 0) if (err < 0)
goto err_exit; goto err_exit;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment