Hi,
I am using GetScatterGatherList for doing Bus Master DMA.
It fails with status = "STATUS_BUFFER_TOO_SMALL". I have
called it 9 times, but only two times it passes.
What is the reason for this status code ? Which buffer is too small ?
Number of MapRegisters allocated is 8.
The buffer size to be transferred is 5120, it spans to a maximum of 3 pages.
The following is the function call
Status = DeviceExtension->AdapterObject->DmaOperations->GetScatterGatherList(
DeviceExtension->AdapterObject,
DeviceObject,
mdl, // IRP->MdlAddress
DeviceExtension->CurrentVaddr, // MmGetMdlVirtualAddress(mdl)
transferSize, // 8192 or 12298 (2 * PAGE_SIZE or 3 *PAGE_SIZE)
(PDRIVER_LIST_CONTROL) AdapterListControl,
DeviceExtension,
bOperationType); // bOperation = TRUE for a write, FALSE for a read.
Thanks
Kumar