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>
Thu, 18 Nov 2021 13:03:41 +0000 (14:03 +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 f3b7b443f9648ef3279b6a39010b0337962203d2..c00f1a7ffc15f63ade18e1eec159f805a9e08e07 100644 (file)
@@ -1226,7 +1226,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");
@@ -1245,7 +1245,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;