[U-Boot] [PATCH v3 1/3] net: Adds Fast Ethernet Controller driver for Armada100

Ajay Bhargav ajay.bhargav at einfochips.com
Mon Aug 29 07:10:49 CEST 2011


----- "Mike Frysinger" <vapier at gentoo.org> wrote:

> On Friday, August 26, 2011 02:36:51 Ajay Bhargav wrote:
> > +static int add_del_hash_entry(struct armdfec_device *darmdfec, u32
> mach,
> > +                              u32 macl, u32 rd, u32 skip, int del)
> > +{
> > +        u8 *last;
> 
> local var ...
> 
> > +        last = (u8 *) entry;
> > +        last = last + sizeof(*entry);
> > +
> > +        return 0;
> > +}
> 
> so what's the point of these two assignments to "last" ?
> 
I forgot to delete them during cleanup of initial code. Thanks for
pointing.

> > +int armada100_fec_register(int base_addr)
> 
> when it comes to addresses for memory mapped registers, we typically
> use 
> "unsigned long" rather than "int"
> 
yes right...

> > +        darmdfec = malloc(sizeof(struct armdfec_device));
> > +        if (!darmdfec)
> > +                goto error;
> 
> if this first one fails, we jump to:
> 
> > +error:
> > +        free(darmdfec->p_aligned_txbuf);
> > +        free(darmdfec->p_rxbuf);
> > +        free(darmdfec->p_rxdesc);
> > +        free(darmdfec->htpr);
> 
> looks like 4 NULL pointer derefs.  so you'll need one specific path
> for the 
> first malloc(), but the rest are fine.
> -mike
so you mean like this...

if(!darmdfec)
        goto error;
...
error1:
        free(darmdfec->p_aligned_txbuf);
        free(darmdfec->p_rxbuf);
        free(darmdfec->p_rxdesc);
        free(darmdfec->htpr);
error:
        free(darmdfec);
        return -1;

Thanks,
Ajay Bhargav


More information about the U-Boot mailing list