arch, x86: Delete packet in IntDevice::recvResponse
authorJoel Hestness <jthestness@gmail.com>
Tue, 29 Sep 2015 14:28:26 +0000 (09:28 -0500)
committerJoel Hestness <jthestness@gmail.com>
Tue, 29 Sep 2015 14:28:26 +0000 (09:28 -0500)
commit0ecaab4ea8039f707a95f5e3efcc68591dbcd407
treee5d0b303b365cbfac32b83ceb4af333ca27b49ce
parentb80024ee7dc1dd424ce2dd907e7b7e3a902e0bb2
arch, x86: Delete packet in IntDevice::recvResponse

IntDevice::recvResponse is called from two places in current mainline: (1) the
short circuit path of X86ISA::IntDevice::IntMasterPort::sendMessage for atomic
mode, and (2) the full request->response path to and from the x86 interrupts
device (finally called from MessageMasterPort::recvTimingResp). In the former
case, the packet was deleted correctly, but in the latter case, the packet and
request leak. To fix the leak, move request and packet deletion into IntDevice
inherited class implementations of recvResponse.
src/dev/x86/i82094aa.cc
src/dev/x86/i82094aa.hh
src/dev/x86/intdev.cc
src/dev/x86/intdev.hh