Message ID | 4F1EA872.4030905@siemens.com |
---|---|
State | New |
Headers | show |
On 2012-01-24 13:47, Jan Kiszka wrote: > A device reset does not affect the link state, only set_link does. > > Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> > --- > hw/e1000.c | 5 +++++ > 1 files changed, 5 insertions(+), 0 deletions(-) > > diff --git a/hw/e1000.c b/hw/e1000.c > index 86c5416..76e736f 100644 > --- a/hw/e1000.c > +++ b/hw/e1000.c > @@ -1133,6 +1133,11 @@ static void e1000_reset(void *opaque) > memmove(d->mac_reg, mac_reg_init, sizeof mac_reg_init); > d->rxbuf_min_shift = 1; > memset(&d->tx, 0, sizeof d->tx); > + > + if (d->nic->nc.link_down) { > + d->mac_reg[STATUS] &= ~E1000_STATUS_LU; > + d->phy_reg[PHY_STATUS] &= ~MII_SR_LINK_STATUS; > + } > } > > static NetClientInfo net_e1000_info = { May rather go via trivial, sorry. Jan
On Tue, Jan 24, 2012 at 01:47:46PM +0100, Jan Kiszka wrote: > A device reset does not affect the link state, only set_link does. > > Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> > --- > hw/e1000.c | 5 +++++ > 1 files changed, 5 insertions(+), 0 deletions(-) Thanks, applied to the trivial patches tree: https://github.com/stefanha/qemu/commits/trivial-patches Stefan
diff --git a/hw/e1000.c b/hw/e1000.c index 86c5416..76e736f 100644 --- a/hw/e1000.c +++ b/hw/e1000.c @@ -1133,6 +1133,11 @@ static void e1000_reset(void *opaque) memmove(d->mac_reg, mac_reg_init, sizeof mac_reg_init); d->rxbuf_min_shift = 1; memset(&d->tx, 0, sizeof d->tx); + + if (d->nic->nc.link_down) { + d->mac_reg[STATUS] &= ~E1000_STATUS_LU; + d->phy_reg[PHY_STATUS] &= ~MII_SR_LINK_STATUS; + } } static NetClientInfo net_e1000_info = {
A device reset does not affect the link state, only set_link does. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> --- hw/e1000.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-)