Problem in receiving start_device while queuing I/O for first disk

We have a lower disk filter driver to manage I/O of multiple disks. Our requirement is to wait for all disk to arrive before processing I/O to any of this disks.
We are facing problem that if we complete start_device for one disk, I/O start coming for that drive. We are queuing the I/O until all other disk arrive.
If we hold the I/O for a disk then start_device is not called for other disk and the system hung there.

Kindly let me know how to handle this scenario.