Problem with ScsiPortNotification(RequestTimerCall, ...)

Hi,

I want to issue a timer callback in my scsi miniport driver with ScsiPortNotification(RequestTimerCall, …). But the callback function is never called by scsiport.

The following is a piece of my code. Could anyone tell me what the problem is? Thanks a lot.

BOOLEAN
HwStartIo(
IN PVOID HwDeviceExtension,
IN PSCSI_REQUEST_BLOCK Srb
)
{

// When some srbs cannot be processed immediately
// Remember current srb in HwDeviceExtension
status = SRB_STATUS_PENDING;
ScsiPortNotification(RequestTimerCall, HwDeviceExtension, HwTimer, 1);

//
// Check if command complete.
//
if(status != SRB_STATUS_PENDING)
{
//
// Clear current SRB.
//
pdx->CurrentSrb = NULL;

//
// Set status in SRB.
//
Srb->SrbStatus = (UCHAR)status;

//
// Indicate command complete.
//
ScsiPortNotification(RequestComplete, pdx, Srb);

//
// Indicate ready for next request.
//
ScsiPortNotification(NextRequest,
pdx,
NULL);
}

}

// NEVER BEEN CALLED!!!
VOID
HwTimer(
IN PVOID HwDeviceExtension
)
{
// Do something

}

Regards,
Ray Yang
xxxxx@ybwork.com