Can only call makeAtomicResponse() once...
authorSteve Reinhardt <stever@eecs.umich.edu>
Sun, 1 Jul 2007 00:56:30 +0000 (17:56 -0700)
committerSteve Reinhardt <stever@eecs.umich.edu>
Sun, 1 Jul 2007 00:56:30 +0000 (17:56 -0700)
--HG--
extra : convert_revision : c49aade46aa64f979da35eb653b544ee5bd82f01

src/dev/ide_ctrl.cc
src/dev/ns_gige.cc
src/dev/pcidev.cc

index 01243ae7369fd75697ef3069a5056054f86a9bc8..07764aabaed0e412c7e1c1b7e33738f922558bce 100644 (file)
@@ -232,8 +232,10 @@ Tick
 IdeController::readConfig(PacketPtr pkt)
 {
     int offset = pkt->getAddr() & PCI_CONFIG_SIZE;
-    if (offset < PCI_DEVICE_SPECIFIC)
-        return  PciDev::readConfig(pkt);
+    if (offset < PCI_DEVICE_SPECIFIC) {
+        return PciDev::readConfig(pkt);
+    }
+
     assert(offset >= IDE_CTRL_CONF_START && (offset + 1) <= IDE_CTRL_CONF_END);
 
     pkt->allocate();
@@ -297,7 +299,6 @@ IdeController::readConfig(PacketPtr pkt)
     }
     pkt->makeAtomicResponse();
     return configDelay;
-
 }
 
 
@@ -361,6 +362,7 @@ IdeController::writeConfig(PacketPtr pkt)
           default:
             panic("invalid access size(?) for PCI configspace!\n");
         }
+        pkt->makeAtomicResponse();
     }
 
     /* Trap command register writes and enable IO/BM as appropriate as well as
@@ -403,7 +405,6 @@ IdeController::writeConfig(PacketPtr pkt)
             bm_enabled = false;
         break;
     }
-    pkt->makeAtomicResponse();
     return configDelay;
 }
 
index 86f664238a3bb1369cd7f14f79f4efdf8507075e..17f7b433b1265ee68c2ecf7e17218ba8f1ca4f36 100644 (file)
@@ -487,7 +487,7 @@ NSGigE::writeConfig(PacketPtr pkt)
             ioEnable = false;
         break;
     }
-    pkt->makeAtomicResponse();
+
     return configDelay;
 }
 
index 85337c841e895f921ae060a1fe39bc9196641600..06806f841bf36a55912accad4a626c5ac2f75516 100644 (file)
@@ -284,7 +284,6 @@ PciDev::writeConfig(PacketPtr pkt)
     }
     pkt->makeAtomicResponse();
     return configDelay;
-
 }
 
 void