diff --git a/ntoskrnl/cc/mdl.c b/ntoskrnl/cc/mdl.c index 12d63c1a39e..a1b726c35c2 100644 --- a/ntoskrnl/cc/mdl.c +++ b/ntoskrnl/cc/mdl.c @@ -101,10 +101,14 @@ CcMdlReadComplete ( /* Check if we support Fast Calls, and check this one */ if (FastDispatch && FastDispatch->MdlReadComplete) { - /* Use the fast path */ - FastDispatch->MdlReadComplete(FileObject, - MdlChain, - DeviceObject); + /* Use the fast path */ + if (FastDispatch->MdlReadComplete(FileObject, + MdlChain, + DeviceObject)) + { + /* Request was handled */ + return; + } } /* Use slow path */ @@ -131,11 +135,15 @@ CcMdlWriteComplete ( /* Check if we support Fast Calls, and check this one */ if (FastDispatch && FastDispatch->MdlWriteComplete) { - /* Use the fast path */ - FastDispatch->MdlWriteComplete(FileObject, - FileOffset, - MdlChain, - DeviceObject); + /* Use the fast path */ + if (FastDispatch->MdlWriteComplete(FileObject, + FileOffset, + MdlChain, + DeviceObject)) + { + /* Request was handled */ + return; + } } /* Use slow path */