Added missing vm_put_physical_page() in do_io().
Something is still fishy though: Opening the dma_resources_test device in DiskProbe, the wrong data is shown. do_io() seems to be invoked with the correct physical address, vm_get_physical_page() succeeds, and after memcpy() the correct data are in the virtual address it returned, but db in the kernel debugger shows that the data in the physical page have not been changed. When quitting DiskProbe the "page still has mappings" assert is triggered for the page. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26602 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
9951d585b6
commit
91ccfa19a0
@ -191,6 +191,8 @@ do_io(void* data, IOOperation* operation)
|
||||
else
|
||||
memcpy(virtualAddress + pageOffset, disk + offset, toCopy);
|
||||
|
||||
vm_put_physical_page((addr_t)virtualAddress);
|
||||
|
||||
length -= toCopy;
|
||||
offset += toCopy;
|
||||
pageOffset = 0;
|
||||
|
Loading…
Reference in New Issue
Block a user