Re: [PATCH net 1/4] eth: bnxt: cancel IRQ notifier before freeing affinity mask
Michael Chan <[email protected]> Mon, 3 Aug 2026 13:01:23 -0700
| Newsgroups | gmane.linux.network |
|---|---|
| Message-ID | <CACKFLi=BXqtBuRAoSxdXoxSDfdX4QdLZwzdSRny7qcQsMkcWEg@mail.gmail.com> |
On Mon, Aug 3, 2026 at 12:31 PM Jakub Kicinski <[email protected]> wrote: > > bnxt_irq_affinity_notify() copies into irq->cpu_mask. > Cancel the notifier before freeing irq->cpu_mask. > > Fixes: c214410c47d6 ("bnxt_en: Add TPH support in BNXT driver") > Signed-off-by: Jakub Kicinski <[email protected]> > --- > drivers/net/ethernet/broadcom/bnxt/bnxt.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c > index 7513618793da..4a2a44ffe669 100644 > --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c > +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c > @@ -11859,14 +11859,14 @@ static void bnxt_free_irq(struct bnxt *bp) > > irq = &bp->irq_tbl[map_idx]; > if (irq->requested) { > + bnxt_release_irq_notifier(irq); > + bnxt_release_irq_notifier() calls irq_set_affinity_notifier() to set the notifier to NULL. But the call is not synchronous, right? A pending notifier is still possible after irq_set_affinity_notifier() returns, right? > if (irq->have_cpumask) { > irq_update_affinity_hint(irq->vector, NULL); > free_cpumask_var(irq->cpu_mask); > irq->have_cpumask = 0; > } > > - bnxt_release_irq_notifier(irq); > - > free_irq(irq->vector, bp->bnapi[i]); > }
smime.p7s
(application/pkcs7-signature, 5.3 KB) - not displayed