Issue with HwStorWorkItem

I am trying to use Storport Workitems to process work that is stored on a queue.

However, if I call StorPortQueueWorkItem() from my HwStorWorkItem routine, with the currently running Worker, I am getting a return status of STOR_STATUS_BUSY.

This seems to be in contradiction of the documentation for HwStorWorkItem which claims: “If needed, a work item can be queued within HwStorWorkItem. Call StorPortQueueWorkItem with the current work item to reuse it”

https://msdn.microsoft.com/en-us/library/windows/hardware/hh451320(v=vs.85).aspx

So basically the documentation is claiming I can reuse the workitem within a worker routine, but this does not seem to be working. Am I somehow misreading the documentation? Should it be possible to requeue a workitem from the worker thread in storport?