[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