Re: [PATCH 08/10] net: fjes: Handle return value of platform_get_irq and platform_get_resource

Sergei Shtylyov
2017-12-02T20:06:15Z

Hello!

On 12/02/2017 10:26 PM, Arvind Yadav wrote:

> platform_get_irq() and platform_get_resource() can fail here and
> we must check its return value.
>
> Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com>
> ---
> drivers/net/fjes/fjes_main.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/drivers/net/fjes/fjes_main.c b/drivers/net/fjes/fjes_main.c
> index 750954b..540dd51 100644
> --- a/drivers/net/fjes/fjes_main.c
> +++ b/drivers/net/fjes/fjes_main.c
> @@ -1265,9 +1265,19 @@ static int fjes_probe(struct platform_device *plat_dev)
> adapter->interrupt_watch_enable = false;
>
> res = platform_get_resource(plat_dev, IORESOURCE_MEM, 0);
> + if (!res) {
> + err = -EINVAL;
> + goto err_free_netdev;
> + }
> +
> hw->hw_res.start = res->start;
> hw->hw_res.size = resource_size(res);
> hw->hw_res.irq = platform_get_irq(plat_dev, 0);
> + if (hw->hw_res.irq <= 0) {

This function no longer returns 0 on error, no need to check for <= 0.

> + err = hw->hw_res.irq ? hw->hw_res.irq : -ENODEV;
> + goto err_free_netdev;

gcc allows a shorter way to write that.

err = hw->hw_res.irq ?: -ENODEV;

> + }
> +
> err = fjes_hw_init(&adapter->hw);
> if (err)
> goto err_free_netdev;

MBR, Sergei