@@ -1131,6 +1131,9 @@ CompleteDPC(
}
#endif
CompleteSRB(DeviceExtension, Srb);
+#ifndef USE_STORPORT
+ --adaptExt->requests;
+#endif
}
#ifdef USE_STORPORT
@@ -105,6 +105,8 @@ typedef struct _ADAPTER_EXTENSION {
LIST_ENTRY complete_list;
#ifdef USE_STORPORT
STOR_DPC completion_dpc;
+#else
+ ULONG requests;
#endif
BOOLEAN has_sn;
ULONG msix_vectors;
@@ -94,9 +94,11 @@ RhelDoReadWrite(PVOID DeviceExtension,
&srbExt->vbr.sg[0],
srbExt->out, srbExt->in,
&srbExt->vbr) == 0) {
-//FIXME
InsertTailList(&adaptExt->list_head,&srbExt->vbr.list_entry);
adaptExt->pci_vq_info.vq->vq_ops->kick(adaptExt->pci_vq_info.vq);
+ if(++adaptExt->requests< adaptExt->queue_depth) {
+ ScsiPortNotification(NextLuRequest, DeviceExtension, Srb->PathId, Srb->TargetId, Srb->Lun);
+ }
return TRUE;
}
return FALSE;