Re: [PATCH] mdio_bus: Fix PTR_ERR applied after initialization to constant

From: Harini Katakam
Date: Tue Nov 19 2019 - 07:58:26 EST


On Mon, Nov 11, 2019 at 12:53 PM YueHaibing <yuehaibing@xxxxxxxxxx> wrote:
>
> Fix coccinelle warning:
>
> ./drivers/net/phy/mdio_bus.c:67:5-12: ERROR: PTR_ERR applied after initialization to constant on line 62
> ./drivers/net/phy/mdio_bus.c:68:5-12: ERROR: PTR_ERR applied after initialization to constant on line 62
>
> Fix this by using IS_ERR before PTR_ERR
>
> Reported-by: Hulk Robot <hulkci@xxxxxxxxxx>
> Fixes: 71dd6c0dff51 ("net: phy: add support for reset-controller")
> Signed-off-by: YueHaibing <yuehaibing@xxxxxxxxxx>
> ---
> drivers/net/phy/mdio_bus.c | 11 ++++++-----
> 1 file changed, 6 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/net/phy/mdio_bus.c b/drivers/net/phy/mdio_bus.c
> index 2e29ab8..3587656 100644
> --- a/drivers/net/phy/mdio_bus.c
> +++ b/drivers/net/phy/mdio_bus.c
> @@ -64,11 +64,12 @@ static int mdiobus_register_reset(struct mdio_device *mdiodev)
> if (mdiodev->dev.of_node)
> reset = devm_reset_control_get_exclusive(&mdiodev->dev,
> "phy");
> - if (PTR_ERR(reset) == -ENOENT ||
> - PTR_ERR(reset) == -ENOTSUPP)
> - reset = NULL;
> - else if (IS_ERR(reset))
> - return PTR_ERR(reset);
> + if (IS_ERR(reset)) {
> + if (PTR_ERR(reset) == -ENOENT || PTR_ERR(reset) == -ENOSYS)
> + reset = NULL;
> + else
> + return PTR_ERR(reset);
> + }
>
> mdiodev->reset_ctrl = reset;
>

Adding Michal Simek to add some test comments.

> --
> 2.7.4
>
>