summaryrefslogtreecommitdiff
path: root/dev/ns_gige.cc
diff options
context:
space:
mode:
authorAli Saidi <saidi@eecs.umich.edu>2005-09-29 17:09:53 -0400
committerAli Saidi <saidi@eecs.umich.edu>2005-09-29 17:09:53 -0400
commit5f7952f8e1ec0eca045742ab3d3290464e24873d (patch)
tree105e499371af76319cb944b170818fec0593c618 /dev/ns_gige.cc
parent70a799a8cf31ce67389093037719f23e453b3898 (diff)
downloadgem5-5f7952f8e1ec0eca045742ab3d3290464e24873d.tar.xz
fix for delayed state machine changes
--HG-- extra : convert_revision : db19e3687f48799725a9062e014588d318988cee
Diffstat (limited to 'dev/ns_gige.cc')
-rw-r--r--dev/ns_gige.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/dev/ns_gige.cc b/dev/ns_gige.cc
index 6aae7b9eb..47cd4d7da 100644
--- a/dev/ns_gige.cc
+++ b/dev/ns_gige.cc
@@ -1840,6 +1840,8 @@ NSGigE::rxKick()
CRDD = true;
goto exit;
} else {
+ if (rxDmaState != dmaIdle)
+ goto exit;
rxState = rxDescRead;
regs.rxdp = rxDescCache.link;
CRDD = false;
@@ -2286,6 +2288,8 @@ NSGigE::txKick()
txState = txIdle;
goto exit;
} else {
+ if (txDmaState != dmaIdle)
+ goto exit;
txState = txDescRead;
regs.txdp = txDescCache.link;
CTDD = false;