According to MPI Specification PCIe SGL, Sense pool, Chain pool, reply pool, reply post pool & reply post array buffers should not cross 4GB boundary. So while allocating these buffers, if any of these pool buffer crosses the 4GB boundary then, * Release the already allocated memory pools and * Reallocate them by changing the DMA coherent mask to 32 bit. Suganath Prabu S (7): mpt3sas: Handle PCIe sgl's in same 4G region. mpt3sas: Handle chain buffer DMA allocations in same 4G region mpt3sas: Handle sense buffer DMA allocations in same 4G region mpt3sas: Handle reply pool DMA allocations in same 4G region mpt3sas: Handle Reply post queue DMA allocations in same 4G region mpt3sas: Handle reply post array DMA allocations in same 4G region mpt3sas : Update driver version to 37.101.00.00 drivers/scsi/mpt3sas/mpt3sas_base.c | 503 ++++++++++++++++++---------- drivers/scsi/mpt3sas/mpt3sas_base.h | 5 +- 2 files changed, 332 insertions(+), 176 deletions(-) -- 2.27.0