In dmar_bus_dmamap_load_buffer() there is code to special case the behavior when the system is creating a kernel crash dump and a comment to go along with it. Turns out there are other cases when the system is not dumping that PHYS_TO_VM_PAGE() can also return NULL or a non-initialized struct vm_page. For instance if performing DMA to/from a data-structure allocated in a driver's BSS segment.
To fix the issue in dmar_bus_dmamap_load_buffer() make the ‘dumping’ code the default. Likewise dmar_bus_dmamap_load_phys() makes an analogous call to PHYS_TO_VM_PAGE(); perform the same technique there.