On Wed, 2014-07-30 at 19:31 +1000, Alexey Kardashevskiy wrote: > + if (oldtce & (TCE_PCI_WRITE | TCE_PCI_READ)) > + put_page(pfn_to_page(__pa(oldtce) >> PAGE_SHIFT)); That probably needs set_page_dirty if TCE_PCI_WRITE is set Cheers, Ben.