From a955fa087acaa525e4331b186b9f37c6b12b16ad Mon Sep 17 00:00:00 2001 From: Sushil Singh Date: Tue, 20 Jul 2021 19:55:51 +0530 Subject: [PATCH] nvethernet:k5.10 Fix probe defer warning prints Issue - Driver probe defer causes failed prints on kernel boot logs if clk/reset controller driver module is not initialized before nvethernet module probe. Fix - The probe defer is part of kernel mechanism to retry module initialization and hardware setup. This is not an error or failure for software driver. Only in case of probe failure, throw error logs in console Bug 200728771 Bug 200732811 Change-Id: I9c421db6ceedc108553f9f2b33f4f3993d63c02f Signed-off-by: Sushil Singh Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2563340 Tested-by: mobile promotions Reviewed-by: mobile promotions --- drivers/net/ethernet/nvidia/nvethernet/ether_linux.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c b/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c index d1a197da..1b7514ca 100644 --- a/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c +++ b/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c @@ -4880,7 +4880,8 @@ static int ether_configure_car(struct platform_device *pdev, /* get MAC reset */ pdata->mac_rst = devm_reset_control_get(&pdev->dev, "mac_rst"); if (IS_ERR_OR_NULL(pdata->mac_rst)) { - dev_err(&pdev->dev, "failed to get MAC reset\n"); + if (PTR_ERR(pdata->mac_rst) != -EPROBE_DEFER) + dev_err(&pdev->dev, "failed to get MAC reset\n"); return PTR_ERR(pdata->mac_rst); } @@ -5036,7 +5037,8 @@ static int ether_init_plat_resources(struct platform_device *pdev, if (osi_core->use_virtualization == OSI_DISABLE) { ret = ether_configure_car(pdev, pdata); if (ret < 0) { - dev_err(&pdev->dev, "failed to get clks/reset"); + if (ret != -EPROBE_DEFER) + dev_err(&pdev->dev, "failed to get clks/reset"); } } @@ -5955,7 +5957,9 @@ static int ether_probe(struct platform_device *pdev) /* get base address, clks, reset ID's and MAC address*/ ret = ether_init_plat_resources(pdev, pdata); if (ret < 0) { - dev_err(&pdev->dev, "failed to allocate platform resources\n"); + if (ret != -EPROBE_DEFER) + dev_err(&pdev->dev, + "failed to allocate platform resources\n"); goto err_init_res; }