From 37ffe52ca406405ad42f9444286a7d1deef29a9c Mon Sep 17 00:00:00 2001 From: Ali Saidi Date: Fri, 23 Jan 2009 17:19:47 -0500 Subject: IGbE: Fix two e1000 driver bugs that I missed before. --- src/dev/i8254xGBe.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/dev') diff --git a/src/dev/i8254xGBe.cc b/src/dev/i8254xGBe.cc index cf6692fb4..d6a888b21 100644 --- a/src/dev/i8254xGBe.cc +++ b/src/dev/i8254xGBe.cc @@ -1108,6 +1108,7 @@ IGbE::RxDescCache::unserialize(Checkpoint *cp, const std::string §ion) IGbE::TxDescCache::TxDescCache(IGbE *i, const std::string n, int s) : DescCache(i,n, s), pktDone(false), isTcp(false), pktWaiting(false), + completionAddress(0), completionEnabled(false), useTso(false), pktEvent(this), headerEvent(this), nullEvent(this) { @@ -1319,7 +1320,8 @@ IGbE::TxDescCache::pktComplete() if ((!TxdOp::eop(desc) && !useTso) || - (pktPtr->length < ( tsoMss + tsoHeaderLen) && tsoTotalLen != tsoUsedLen)) { + (pktPtr->length < ( tsoMss + tsoHeaderLen) && + tsoTotalLen != tsoUsedLen && useTso)) { assert(!useTso || (tsoDescBytesUsed == TxdOp::getLen(desc))); unusedCache.pop_front(); usedCache.push_back(desc); -- cgit v1.2.3