
On 25.11.2016 16:41, Olliver Schinagl 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@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);
}
static int zynq_gem_miiphy_read(struct mii_dev *bus, int addr,
Not a problem with the patch above but I hope to get rid of this whole function by using MAC reading from eeprom.
Also board specific functions should return error value when read is not possible.
Acked-by: Michal Simek michal.simek@xilinx.com
Thanks, Michal