diff options
author | Igor Russkikh <igor.russkikh@aquantia.com> | 2018-05-07 16:10:39 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-05-08 00:06:44 -0400 |
commit | a09bd81b5413d1b4d705c6c5303b5d311069da22 (patch) | |
tree | ad505327eef2bcdfe6e37361aaf1ea539d1bcf7a /drivers/net/ethernet/aquantia/atlantic/aq_nic.h | |
parent | 8c61ab7f111a2b29d051348b9cb9a39804ebf1f8 (diff) |
net: aquantia: Limit number of vectors to actually allocated irqs
Driver should use pci_alloc_irq_vectors return value to correct number
of allocated vectors and napi instances. Otherwise it'll panic later
in pci_irq_vector.
Driver also should allow more than one MSI vectors to be allocated.
Error return path from pci_alloc_irq_vectors is also fixed to revert
resources in a correct sequence when error happens.
Reported-by: Long, Nicholas <nicholas.a.long@baesystems.com>
Fixes: 23ee07a ("net: aquantia: Cleanup pci functions module")
Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/aquantia/atlantic/aq_nic.h')
-rw-r--r-- | drivers/net/ethernet/aquantia/atlantic/aq_nic.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_nic.h b/drivers/net/ethernet/aquantia/atlantic/aq_nic.h index 219b550d1665..faa533a0ec47 100644 --- a/drivers/net/ethernet/aquantia/atlantic/aq_nic.h +++ b/drivers/net/ethernet/aquantia/atlantic/aq_nic.h @@ -80,6 +80,7 @@ struct aq_nic_s { struct pci_dev *pdev; unsigned int msix_entry_mask; + u32 irqvecs; }; static inline struct device *aq_nic_get_dev(struct aq_nic_s *self) |