[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