summaryrefslogtreecommitdiff
path: root/src/dev/arm/ufs_device.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/dev/arm/ufs_device.cc')
-rw-r--r--src/dev/arm/ufs_device.cc8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/dev/arm/ufs_device.cc b/src/dev/arm/ufs_device.cc
index fe05b3279..5a5a13215 100644
--- a/src/dev/arm/ufs_device.cc
+++ b/src/dev/arm/ufs_device.cc
@@ -1890,7 +1890,9 @@ UFSHostDevice::writeDevice(Event* additional_action, bool toDisk, Addr
< curTick()))
writeDoneEvent.pop_front();
- writeDoneEvent.push_back(this);
+ writeDoneEvent.push_back(
+ EventFunctionWrapper([this]{ writeDone(); },
+ name()));
assert(!writeDoneEvent.back().scheduled());
/**destination is an offset here since we are writing to a disk*/
@@ -2089,7 +2091,9 @@ UFSHostDevice::readDevice(bool lastTransfer, Addr start, uint32_t size,
/** check wether interrupt is needed */
if (lastTransfer) {
++readPendingNum;
- readDoneEvent.push_back(this);
+ readDoneEvent.push_back(
+ EventFunctionWrapper([this]{ readDone(); },
+ name()));
assert(!readDoneEvent.back().scheduled());
dmaPort.dmaAction(MemCmd::WriteReq, start, size,
&readDoneEvent.back(), destination, 0);