[U-Boot] [PATCH] net: zynq_gem: Return 0 on success, not -ENOSYS

Joe Hershberger joe.hershberger at gmail.com
Thu Dec 1 00:38:50 CET 2016


On Fri, Nov 25, 2016 at 9:41 AM, Olliver Schinagl <oliver at schinagl.nl> wrote:
> The .read_rom_hwaddr net_ops hook does not check the return value, which
> is why it was never caught that we are currently returning 0 if the
> read_rom_hwaddr function return -ENOSYS and -ENOSYS otherwise.
>
> In this case we can simplify this by just returning the result of the
> function.
>
> Signed-off-by: Olliver Schinagl <oliver at schinagl.nl>
> ---
>  drivers/net/zynq_gem.c | 8 +++-----
>  1 file changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/net/zynq_gem.c b/drivers/net/zynq_gem.c
> index 8b7c1be..04a3fd4 100644
> --- a/drivers/net/zynq_gem.c
> +++ b/drivers/net/zynq_gem.c
> @@ -593,14 +593,12 @@ __weak int zynq_board_read_rom_ethaddr(unsigned char *ethaddr)
>
>  static int zynq_gem_read_rom_mac(struct udevice *dev)
>  {
> -       int retval;
>         struct eth_pdata *pdata = dev_get_platdata(dev);
>
> -       retval = zynq_board_read_rom_ethaddr(pdata->enetaddr);
> -       if (retval == -ENOSYS)
> -               retval = 0;
> +       if (!dev)
> +               return -ENOSYS;
>
> -       return retval;
> +       return zynq_board_read_rom_ethaddr(pdata->enetaddr);

You should check the pdata ptr for NULL before dereferencing.

>  }
>
>  static int zynq_gem_miiphy_read(struct mii_dev *bus, int addr,
> --
> 2.10.2
>
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot


More information about the U-Boot mailing list