HwScsiEnableInterruptsCallback

BOOLEAN
HwScsiEnableInterruptsCallback(

IN PVOID DeviceExtension
);

HwScsiEnableInterruptsCallback is called after a miniport's HwScsiInterrupt routine disables interrupts on the HBA and calls ScsiPortNotification with the NotificationType CallEnableInterrupts. Miniport drivers of HBAs that require interrupt processing that takes more than 50 microseconds in the ISR should have a pair of HwScsi..InterruptsCallback routines.

Parameters

DeviceExtension

Points to the miniport driver's per-HBA storage area.

Return Value

HwScsiEnableInterruptsCallback returns TRUE.

Comments

All system interrupts are enabled when the HwScsiEnableInterruptsCallback routine gets control, except for interrupts from the HBA. Because the miniport's HwScsiInterrupt routine disables interrupts on the HBA before it calls ScsiPortNotification, the HwScsiEnableInterruptsCallback routine should be optimized to run as quickly as possible.

HwScsiEnableInterruptsCallback is responsible for completing the interrupt-driven I/O processing deferred by the HwScsiInterrupt routine, using the information it saved in the DeviceExtension. That is, HwScsiEnableInterruptsCallback completes the request that caused the interrupt to occur.

Then, HwScsiEnableInterruptsCallback calls ScsiPortNotification again with the NotificationType CallDisableInterrupts before it returns control.

See Also

HwScsiDisableInterruptsCallback, HwScsiInterrupt, ScsiPortNotification