* The IOCache always needs a DMAResource; it was sometimes checked, and
sometimes not. * This fixes CIDs 1755-1756, and 1505-1506. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38460 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
b7f609650b
commit
73b1cb8240
@ -49,6 +49,7 @@ IOCache::IOCache(DMAResource* resource, size_t cacheLineSize)
|
||||
fPages(NULL),
|
||||
fVecs(NULL)
|
||||
{
|
||||
ASSERT(resource != NULL);
|
||||
TRACE("%p->IOCache::IOCache(%p, %" B_PRIuSIZE ")\n", this, resource,
|
||||
cacheLineSize);
|
||||
|
||||
@ -461,8 +462,7 @@ IOCache::_TransferRequestLineUncached(IORequest* request, off_t lineOffset,
|
||||
// Keep the request in unfinished state. ScheduleRequest() will set
|
||||
// the final status and notify.
|
||||
|
||||
if (fDMAResource != NULL)
|
||||
fDMAResource->RecycleBuffer(operation.Buffer());
|
||||
fDMAResource->RecycleBuffer(operation.Buffer());
|
||||
|
||||
if (error != B_OK) {
|
||||
TRACE("%p->IOCache::_TransferRequestLineUncached(): operation at "
|
||||
@ -558,8 +558,7 @@ IOCache::_TransferPages(size_t firstPage, size_t pageCount, bool isWrite,
|
||||
|
||||
request.RemoveOperation(&operation);
|
||||
|
||||
if (fDMAResource != NULL)
|
||||
fDMAResource->RecycleBuffer(operation.Buffer());
|
||||
fDMAResource->RecycleBuffer(operation.Buffer());
|
||||
|
||||
if (error != B_OK) {
|
||||
TRACE("%p->IOCache::_TransferLine(): operation at %" B_PRIdOFF
|
||||
|
Loading…
x
Reference in New Issue
Block a user