]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
cavium: Fix return values of the probe function
authorZheyu Ma <zheyuma97@gmail.com>
Mon, 18 Oct 2021 14:32:57 +0000 (14:32 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 26 Nov 2021 10:35:58 +0000 (11:35 +0100)
[ Upstream commit c69b2f46876825c726bd8a97c7fa852d8932bc32 ]

During the process of driver probing, the probe function should return < 0
for failure, otherwise, the kernel will treat value > 0 as success.

Signed-off-by: Zheyu Ma <zheyuma97@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/cavium/thunder/nicvf_main.c

index 99eea9e6a8ea6dab8dc7c3c3708d3f114e4849e6..0fbb0dee2dcfd0c2efa6319221f6f6c3c90b69d6 100644 (file)
@@ -1223,7 +1223,7 @@ static int nicvf_register_misc_interrupt(struct nicvf *nic)
        if (ret < 0) {
                netdev_err(nic->netdev,
                           "Req for #%d msix vectors failed\n", nic->num_vec);
-               return 1;
+               return ret;
        }
 
        sprintf(nic->irq_name[irq], "%s Mbox", "NICVF");
@@ -1242,7 +1242,7 @@ static int nicvf_register_misc_interrupt(struct nicvf *nic)
        if (!nicvf_check_pf_ready(nic)) {
                nicvf_disable_intr(nic, NICVF_INTR_MBOX, 0);
                nicvf_unregister_interrupts(nic);
-               return 1;
+               return -EIO;
        }
 
        return 0;