Re: [PATCH net-next] mdio_bus: Fix PTR_ERR() usage after initialization to constant

From: YueHaibing
Date: Fri Feb 15 2019 - 21:41:12 EST



On 2019/2/1 12:24, Al Viro wrote:
> On Tue, Jan 29, 2019 at 11:30:27AM +0800, YueHaibing wrote:
>>>> gpiod = fwnode_get_named_gpiod(&mdiodev->dev.of_node->fwnode,
>>>> "reset-gpios", 0, GPIOD_OUT_LOW,
>>>> "PHY reset");
>>>> - if (PTR_ERR(gpiod) == -ENOENT ||
>>>> - PTR_ERR(gpiod) == -ENOSYS)
>>>> - gpiod = NULL;
>>>> - else if (IS_ERR(gpiod))
>>>> - return PTR_ERR(gpiod);
>>>> + if (IS_ERR(gpiod)) {
>>>> + ret = PTR_ERR(gpiod);
>>>> + if (ret == -ENOENT || ret == -ENOSYS)
>>>> + gpiod = NULL;
>>>> + else
>>>> + return ret;
>>>> + }
>
> Rule of the thumb: PTR_ERR(p) == -E... is almost always better off
> as p == ERR_PTR(-E...)

Ok, will fix it.

>
> .
>