When ScsiRestartAdapter can't succeed

What is the correct thing to do if
HwScsiAdapterControl(ScsiRestartAdapter) can’t succeed? Obviously if the
device is a critical system device then it’s ‘game over’, but how should
this ‘game over’ be realised?

Such a thing should be pretty rare - maybe as a result of a hardware
failure between a hibernate and a resume, but it’s possible.

According to the DDK docs, HwScsiAdapterControl must always return
ScsiAdapterControlSuccess (ScsiAdapterControlUnsuccessful is reserved
for future use), so the only other choices I can see are to KeBugCheck,
or to pretend we succeeded but fail all subsequent Srb’s.

Or maybe this is a rare enough thing that it doesn’t matter?

Thanks

James

James,

I’m not sure of the situation for SCSIport, but for Storport, I’d recommend completing the ScsiRestartAdapter request with ScsiAdapterControlUnsuccessful. Storport does check for success/failure and it attempts to deal with the device appropriately.

– Keith