mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-07 18:37:58 -04:00
fbnic: Set napi irq value after calling netif_napi_add
The driver calls netif_napi_set_irq() and then calls netif_napi_add(),
which calls netif_napi_add_weight(). At the end of
netif_napi_add_weight() is a call to netif_napi_set_irq(napi, -1), which
clears the previously set napi->irq value. Fix this by calling
netif_napi_set_irq() after calling netif_napi_add().
This was found when reviewing another patch and I have no way to test
this, but the fix seemed relatively straight forward.
Fixes: bc6107771b ("eth: fbnic: Allocate a netdevice and napi vectors with queues")
Signed-off-by: Brett Creeley <brett.creeley@amd.com>
Reviewed-by: Joe Damato <jdamato@fastly.com>
Reviewed-by: Vadim Fedorenko <vadim.fedorenko@linux.dev>
Link: https://patch.msgid.link/20240912174922.10550-1-brett.creeley@amd.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
committed by
Jakub Kicinski
parent
2c84b0aa28
commit
9f3e7f11f2
@@ -1012,14 +1012,14 @@ static int fbnic_alloc_napi_vector(struct fbnic_dev *fbd, struct fbnic_net *fbn,
|
||||
nv->fbd = fbd;
|
||||
nv->v_idx = v_idx;
|
||||
|
||||
/* Record IRQ to NAPI struct */
|
||||
netif_napi_set_irq(&nv->napi,
|
||||
pci_irq_vector(to_pci_dev(fbd->dev), nv->v_idx));
|
||||
|
||||
/* Tie napi to netdev */
|
||||
list_add(&nv->napis, &fbn->napis);
|
||||
netif_napi_add(fbn->netdev, &nv->napi, fbnic_poll);
|
||||
|
||||
/* Record IRQ to NAPI struct */
|
||||
netif_napi_set_irq(&nv->napi,
|
||||
pci_irq_vector(to_pci_dev(fbd->dev), nv->v_idx));
|
||||
|
||||
/* Tie nv back to PCIe dev */
|
||||
nv->dev = fbd->dev;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user