diff mbox

[7/7] e1000: set E1000_ICR_INT_ASSERTED only for 8257x

Message ID 20120322100234.44393.86465.stgit@amd-6168-8-1.englab.nay.redhat.com
State New
Headers show

Commit Message

Jason Wang March 22, 2012, 10:02 a.m. UTC
E1000_ICR_INT_ASSERTED were introduced only for 8257x, so we need to
check the E1000_DEVID before setting this bit in ICS.

Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/e1000.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)
diff mbox

Patch

diff --git a/hw/e1000.c b/hw/e1000.c
index 921f0cc..5584cc6 100644
--- a/hw/e1000.c
+++ b/hw/e1000.c
@@ -199,8 +199,10 @@  static const char phy_regcap[0x20] = {
 static void
 set_interrupt_cause(E1000State *s, int index, uint32_t val)
 {
-    if (val)
+    if (val && (E1000_DEVID >= E1000_DEV_ID_82547EI_MOBILE)) {
+        /* Only for 8257x */
         val |= E1000_ICR_INT_ASSERTED;
+    }
     s->mac_reg[ICR] = val;
     s->mac_reg[ICS] = val;
     qemu_set_irq(s->dev.irq[0], (s->mac_reg[IMS] & s->mac_reg[ICR]) != 0);