On Sat, May 23, 2020 at 7:44 PM Marek Vasut <[email protected]> wrote:
>
> Signed-off-by: Marek Vasut <[email protected]>
> ---
>  drivers/net/eepro100.c | 12 +++++++++---
>  1 file changed, 9 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/eepro100.c b/drivers/net/eepro100.c
> index 532d7aa649..2c25307002 100644
> --- a/drivers/net/eepro100.c
> +++ b/drivers/net/eepro100.c
> @@ -201,6 +201,10 @@ static const char i82558_config_cmd[] = {
>         0x31, 0x05,
>  };
>
> +struct eepro100_priv {
> +       struct eth_device       dev;
> +};
> +
>  #if defined(CONFIG_E500)
>  #define bus_to_phys(dev, a)    (a)
>  #define phys_to_bus(dev, a)    (a)
> @@ -751,6 +755,7 @@ done:
>
>  int eepro100_initialize(bd_t *bis)
>  {
> +       struct eepro100_priv *priv;
>         struct eth_device *dev;
>         int card_number = 0;
>         u32 iobase, status;
> @@ -785,11 +790,12 @@ int eepro100_initialize(bd_t *bis)
>                         continue;
>                 }
>
> -               dev = calloc(1, sizeof(*dev));
> -               if (!dev) {
> +               priv = calloc(1, sizeof(*priv));
> +               if (!priv) {
>                         printf("eepro100: Can not allocate memory\n");
>                         break;
>                 }
> +               dev = &priv->dev;
>
>                 sprintf(dev->name, "i82559#%d", card_number);
>                 dev->priv = (void *)devno; /* this have to come before 
> bus_to_phys() */
> @@ -804,7 +810,7 @@ int eepro100_initialize(bd_t *bis)
>                 ret = eepro100_initialize_mii(dev);
>                 if (ret) {
>                         eth_unregister(dev);
> -                       free(dev);
> +                       free(priv);
>                         return ret;
>                 }
>
> --
> 2.25.1
>
Reviewed-By: Ramon Fried <[email protected]>

Reply via email to