Re: [PATCH v2 net-next 2/5] net: ipa: don't report EPROBE_DEFER error

From: Heiner Kallweit
Date: Thu Feb 11 2021 - 17:12:43 EST


On 11.02.2021 22:19, Alex Elder wrote:
> When initializing the IPA core clock and interconnects, it's
> possible we'll get an EPROBE_DEFER error. This isn't really an
> error, it's just means we need to be re-probed later.
>
> Check the return code when initializing these, and if it's
> EPROBE_DEFER, skip printing the error message.
>
> Signed-off-by: Alex Elder <elder@xxxxxxxxxx>
> ---
> drivers/net/ipa/ipa_clock.c | 12 ++++++++----
> 1 file changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/net/ipa/ipa_clock.c b/drivers/net/ipa/ipa_clock.c
> index 354675a643db5..238a713f6b604 100644
> --- a/drivers/net/ipa/ipa_clock.c
> +++ b/drivers/net/ipa/ipa_clock.c
> @@ -1,7 +1,7 @@
> // SPDX-License-Identifier: GPL-2.0
>
> /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
> - * Copyright (C) 2018-2020 Linaro Ltd.
> + * Copyright (C) 2018-2021 Linaro Ltd.
> */
>
> #include <linux/refcount.h>
> @@ -68,8 +68,9 @@ static int ipa_interconnect_init_one(struct device *dev,
> if (IS_ERR(path)) {
> int ret = PTR_ERR(path);
>
> - dev_err(dev, "error %d getting %s interconnect\n", ret,
> - data->name);
> + if (ret != -EPROBE_DEFER)
> + dev_err(dev, "error %d getting %s interconnect\n", ret,
> + data->name);
>

You may want to use dev_err_probe() here.

> return ret;
> }
> @@ -281,7 +282,10 @@ ipa_clock_init(struct device *dev, const struct ipa_clock_data *data)
>
> clk = clk_get(dev, "core");
> if (IS_ERR(clk)) {
> - dev_err(dev, "error %ld getting core clock\n", PTR_ERR(clk));
> + ret = PTR_ERR(clk);
> + if (ret != -EPROBE_DEFER)
> + dev_err(dev, "error %d getting core clock\n", ret);
> +
> return ERR_CAST(clk);
> }
>
>