[U-Boot] [PATCH] net: zynq_gem: Return 0 on success, not -ENOSYS
Olliver Schinagl
oliver at schinagl.nl
Fri Dec 2 13:39:11 CET 2016
Hey Joe,
On 01-12-16 00:38, Joe Hershberger wrote:
> 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.
Actually, is this not violating the whole point subclassed drivers? (I
admit I have not checked into more details of the zynq_gem to see if it
is not allready a subclassed driver).
Even so, I can send an updated patch for this to fix this issue separate
of the rest so atleast this function behaves properly.
>
>> }
>>
>> 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