Revision b1332393

b/hw/e1000.c
154 154
    if (val)
155 155
        val |= E1000_ICR_INT_ASSERTED;
156 156
    s->mac_reg[ICR] = val;
157
    s->mac_reg[ICS] = val;
157 158
    qemu_set_irq(s->dev.irq[0], (s->mac_reg[IMS] & s->mac_reg[ICR]) != 0);
158 159
}
159 160

  
......
286 287
{
287 288
    unsigned int index, r = s->mac_reg[EERD] & ~E1000_EEPROM_RW_REG_START;
288 289

  
290
    if ((s->mac_reg[EERD] & E1000_EEPROM_RW_REG_START) == 0)
291
        return (s->mac_reg[EERD]);
292

  
289 293
    if ((index = r >> E1000_EEPROM_RW_ADDR_SHIFT) > EEPROM_CHECKSUM_REG)
290
        return 0;
291
    return (s->eeprom_data[index] << E1000_EEPROM_RW_REG_DATA) |
292
           E1000_EEPROM_RW_REG_DONE | r;
294
        return (E1000_EEPROM_RW_REG_DONE | r);
295

  
296
    return ((s->eeprom_data[index] << E1000_EEPROM_RW_REG_DATA) |
297
           E1000_EEPROM_RW_REG_DONE | r);
293 298
}
294 299

  
295 300
static void
......
780 785
    getreg(WUFC),	getreg(TDT),	getreg(CTRL),	getreg(LEDCTL),
781 786
    getreg(MANC),	getreg(MDIC),	getreg(SWSM),	getreg(STATUS),
782 787
    getreg(TORL),	getreg(TOTL),	getreg(IMS),	getreg(TCTL),
783
    getreg(RDH),	getreg(RDT),	getreg(VET),
788
    getreg(RDH),	getreg(RDT),	getreg(VET),	getreg(ICS),
784 789

  
785 790
    [TOTH] = mac_read_clr8,	[TORH] = mac_read_clr8,	[GPRC] = mac_read_clr4,
786 791
    [GPTC] = mac_read_clr4,	[TPR] = mac_read_clr4,	[TPT] = mac_read_clr4,

Also available in: Unified diff