Skip to content

Commit 5c47e3b

Browse files
caildavem330
authored andcommitted
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: 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]>
1 parent c2ef057 commit 5c47e3b

File tree

1 file changed

+1
-1
lines changed
  • drivers/net/ethernet/aquantia/atlantic

1 file changed

+1
-1
lines changed

drivers/net/ethernet/aquantia/atlantic/aq_nic.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -393,7 +393,7 @@ int aq_nic_start(struct aq_nic_s *self)
393393
self->aq_nic_cfg.link_irq_vec);
394394
err = request_threaded_irq(irqvec, NULL,
395395
aq_linkstate_threaded_isr,
396-
IRQF_SHARED,
396+
IRQF_SHARED | IRQF_ONESHOT,
397397
self->ndev->name, self);
398398
if (err < 0)
399399
goto err_exit;

0 commit comments

Comments
 (0)