Skip to content

Commit

Permalink
net: aquantia: linkstate irq should be oneshot
Browse files Browse the repository at this point in the history
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: 4c83f17 ("net: aquantia: link status irq handling")
Signed-off-by: Igor Russkikh <[email protected]>
Reported-by: Michael Symolkin <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
  • Loading branch information
cail authored and davem330 committed Sep 1, 2019
1 parent c2ef057 commit 5c47e3b
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion drivers/net/ethernet/aquantia/atlantic/aq_nic.c
Original file line number Diff line number Diff line change
Expand Up @@ -393,7 +393,7 @@ int aq_nic_start(struct aq_nic_s *self)
self->aq_nic_cfg.link_irq_vec);
err = request_threaded_irq(irqvec, NULL,
aq_linkstate_threaded_isr,
IRQF_SHARED,
IRQF_SHARED | IRQF_ONESHOT,
self->ndev->name, self);
if (err < 0)
goto err_exit;
Expand Down

0 comments on commit 5c47e3b

Please sign in to comment.