qedf_set_fcoe_pf_param() propagates the return value to the probe function __qedf_probe() and then hits local_pci_probe(). 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@xxxxxxxxx> --- drivers/scsi/qedf/qedf_main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/scsi/qedf/qedf_main.c b/drivers/scsi/qedf/qedf_main.c index 42d0d941dba5..52f2a52bea2c 100644 --- a/drivers/scsi/qedf/qedf_main.c +++ b/drivers/scsi/qedf/qedf_main.c @@ -3161,14 +3161,14 @@ static int qedf_set_fcoe_pf_param(struct qedf_ctx *qedf) if (!qedf->p_cpuq) { QEDF_ERR(&(qedf->dbg_ctx), "dma_alloc_coherent failed.\n"); - return 1; + return -ENOMEM; } rval = qedf_alloc_global_queues(qedf); if (rval) { QEDF_ERR(&(qedf->dbg_ctx), "Global queue allocation " "failed.\n"); - return 1; + return rval; } /* Calculate SQ PBL size in the same manner as in qedf_sq_alloc() */ -- 2.17.6