Skip to content

Commit 58d813a

Browse files
Colin Ian Kingdavem330
authored andcommitted
net: aquantia: fix unsigned numvecs comparison with less than zero
From: Colin Ian King <[email protected]> This was originally mistakenly submitted to net-next. Resubmitting to net. The comparison of numvecs < 0 is always false because numvecs is a u32 and hence the error return from a failed call to pci_alloc_irq_vectores is never detected. Fix this by using the signed int ret to handle the error return and assign numvecs to err. Detected by CoverityScan, CID#1468650 ("Unsigned compared against 0") Fixes: a09bd81 ("net: aquantia: Limit number of vectors to actually allocated irqs") Signed-off-by: Colin Ian King <[email protected]> Signed-off-by: Igor Russkikh <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent bde4975 commit 58d813a

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

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

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -267,14 +267,13 @@ static int aq_pci_probe(struct pci_dev *pdev,
267267
numvecs = min(numvecs, num_online_cpus());
268268
/*enable interrupts */
269269
#if !AQ_CFG_FORCE_LEGACY_INT
270-
numvecs = pci_alloc_irq_vectors(self->pdev, 1, numvecs,
271-
PCI_IRQ_MSIX | PCI_IRQ_MSI |
272-
PCI_IRQ_LEGACY);
270+
err = pci_alloc_irq_vectors(self->pdev, 1, numvecs,
271+
PCI_IRQ_MSIX | PCI_IRQ_MSI |
272+
PCI_IRQ_LEGACY);
273273

274-
if (numvecs < 0) {
275-
err = numvecs;
274+
if (err < 0)
276275
goto err_hwinit;
277-
}
276+
numvecs = err;
278277
#endif
279278
self->irqvecs = numvecs;
280279

0 commit comments

Comments
 (0)