qemu-trivial
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] tulip: Assign default MAC address if not specified


From: Jason Wang
Subject: Re: [PATCH] tulip: Assign default MAC address if not specified
Date: Wed, 11 May 2022 18:19:13 +0800

On Wed, May 11, 2022 at 5:41 PM Philippe Mathieu-Daudé <f4bug@amsat.org> wrote:
>
> Hi Jason,
>
> Do you mind taking this single patch via your networking tree?
> Otherwise I Cc'ed qemu-trivial :)

I've queued this.

Thanks

>
> Thanks!
>
> On Thu, Mar 10, 2022 at 5:56 PM Helge Deller <deller@gmx.de> wrote:
> >
> > The MAC of the tulip card is stored in the EEPROM and at startup
> > tulip_fill_eeprom() is called to initialize the EEPROM with the MAC
> > address given on the command line, e.g.:
> >     -device tulip,mac=00:11:22:33:44:55
> >
> > In case the mac address was not given on the command line,
> > tulip_fill_eeprom() initializes the MAC in EEPROM with 00:00:00:00:00:00
> > which breaks e.g. a HP-UX guest.
> >
> > Fix this problem by moving qemu_macaddr_default_if_unset() a few lines
> > up, so that a default mac address is assigned before tulip_fill_eeprom()
> > initializes the EEPROM.
> >
> > Signed-off-by: Helge Deller <deller@gmx.de>
> >
> > diff --git a/hw/net/tulip.c b/hw/net/tulip.c
> > index d5b6cc5ee6..097e905bec 100644
> > --- a/hw/net/tulip.c
> > +++ b/hw/net/tulip.c
> > @@ -967,6 +967,8 @@ static void pci_tulip_realize(PCIDevice *pci_dev, Error 
> > **errp)
> >      pci_conf = s->dev.config;
> >      pci_conf[PCI_INTERRUPT_PIN] = 1; /* interrupt pin A */
> >
> > +    qemu_macaddr_default_if_unset(&s->c.macaddr);
> > +
> >      s->eeprom = eeprom93xx_new(&pci_dev->qdev, 64);
> >      tulip_fill_eeprom(s);
> >
> > @@ -981,8 +983,6 @@ static void pci_tulip_realize(PCIDevice *pci_dev, Error 
> > **errp)
> >
> >      s->irq = pci_allocate_irq(&s->dev);
> >
> > -    qemu_macaddr_default_if_unset(&s->c.macaddr);
> > -
> >      s->nic = qemu_new_nic(&net_tulip_info, &s->c,
> >                            object_get_typename(OBJECT(pci_dev)),
> >                            pci_dev->qdev.id, s);
> >
>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]