[NTDEV] IRQLs in windows ....

hi all,
While reviewing a driver code I found that some calls that run at IRQ
PASSIVE LEVEL are being called In routines that run at IRQ DESPATCH_LEVEL.
As far as i know on a X86 pltform DESPATCH_LEVEL > APC_LEVEL>
PASSIVE_LEVEL.
In DDK when i see the description of functions that run at IRQ
PASSIVE_LEVEL it only says that the Caller of these function should be at
IRQ_PASSIVE_LEVEL. Now My Question is

Can the caller of IRQ_PASSIVE_LEVEL Routine should be specifically at
IRQ_PASSIVE_LEVEL OR it can be at any level higher than IRQ_PASSIVE_LEVEL.
(Say DESPATCH_LEVEL)

Thanks
Ajitabh

Ajitabh Prakash
Sr.Software Engineer
Future Software
480/481 Nandnam,Chennai