Re: Would like some clarification on DATA_OVERRUN and QUEUE_FROZEN conditions
From: Peter Wieland [MSFT] (peterwie_at_online.microsoft.com)
Date: 10/07/04
- Next message: Hannes: "Re: IoReuseIrp won't compile"
- Previous message: Peter Wieland [MSFT]: "Re: Would like some clarification on DATA_OVERRUN and QUEUE_FROZEN conditions"
- In reply to: Robert Stankey: "Re: Would like some clarification on DATA_OVERRUN and QUEUE_FROZEN conditions"
- Next in thread: Robert Stankey: "Re: Would like some clarification on DATA_OVERRUN and QUEUE_FROZEN conditions"
- Reply: Robert Stankey: "Re: Would like some clarification on DATA_OVERRUN and QUEUE_FROZEN conditions"
- Messages sorted by: [ date ] [ thread ]
Date: Thu, 7 Oct 2004 08:07:56 -0700
are you testing status & 0x40 or status == 0x40?
SRB_STATUS_QUEUE_FROZEN is a flag that's set in the SRB status code. It's
not a status code in and of itself.
-p
-- This posting is provided "AS IS" with no warranties, and confers no rights. "Robert Stankey" <robert.stankey@lsil.com> wrote in message news:prmk87ec7qj8$.1u5fead3r1qoe$.dlg@40tude.net... > On Wed, 6 Oct 2004 13:54:10 -0700, Peter Wieland [MSFT] wrote: > > Okay, here is what I have so far. I'm still running the test a few times > but did a '.crash' on the system to get a dump in case there is something > else to look at. > > 0: kd> !devobj 898729d0 > Device object (898729d0) is for: > 0000001b \Driver\mydriver DriverObject 8a3afe18 > Current Irp 00000000 RefCount 0 Type 0000002d Flags 00000050 > Dacl e1512e0c DevExt 89872a88 DevObjExt 89872b70 > ExtensionFlags (0x00000008) DOE_REMOVE_PROCESSED > AttachedTo (Lower) 8985e030 \Driver\ql2300 > Device queue is not busy. > 0: kd> !devobj 8985e030 > Device object (8985e030) is for: > ql23001Port0Path0Target1Lun0 \Driver\ql2300 DriverObject 8a3f8e48 > Current Irp 00000000 RefCount 0 Type 00000007 Flags 00001050 > Dacl e1512e0c DevExt 8985e0e8 DevObjExt 8985ed10 Dope 898dbf80 DevNode > 8986eee8 > ExtensionFlags (0x00000008) DOE_REMOVE_PROCESSED > AttachedDevice (Upper) 898729d0 \Driver\mydriver > DeviceQueue: 89f518d8 89e65228 8a47e640 89d081b0 > 8987a008 89baea08 89c16a20 89d09318 > 8987b9c0 89b9de48 897e4ac0 897fc4f0 > 8983a008 89eb3218 89e064e8 89836e48 > 89bf0980 89874e48 89b972a8 89d098c0 > 8981d9d0 89c17008 89cb6ba0 89e96648 > > 0: kd> !scsikd.scsiext 8985e030 > Scsiport physical device extension at address 8985e0e8 > Common Extension: > Removed RemovePendingWmiInit > DO 0x8985e030 LowerObject 0x8a3f83d0 SRB Flags 00000000 > Current Power (D0,S0) Desired Power D-1 Idle 0x898dbf80 > Current PnP state 0x17 Previous state 0x0 > DispatchTable f72fe200 UsePathCounts (P0, H0, C0) > DispatchTable 0x00000000 WmiInfoSize 00000000 > Logical Unit Extension: > Address (0, 0, 1, 0) Claimed Missing Visible > LuFlags (0x00000003): LU_QUEUE_FROZEN, LU_LOGICAL_UNIT_IS_ACTIVE > Retry 0x00 Key 0x00000000 > Lock 0x00000000 Pause 0x00000000 CurrentLock: 0x00000000 > HwLuExt 0x00000000 Adapter 0x8a3f8488 Timeout 0xffffffff > NextLun 0x8986c0e8 ReadyLun 0x00000000 > Pending 0x00000000 Busy 0x00000000 Untagged 0x00000000 > Q Depth 000 (255) InquiryData 0x8985e206 > DeviceMap Keys: Target 00000000 Lun 00000000 > Bypass SRB_DATA blocks 4 @ 8985e270 List 8985e810 > RS Irp 89863d68 Srb @ 8985ea0c MDL @ 8985ea4c > Request List @0x8985e1f0 is empty > 0: kd> !scsikd.scsiext 0x8a3f8488 > Scsiport functional device extension at address 8a3f8488 > Common Extension: > Initialized WmiInit > DO 0x8a3f83d0 LowerObject 0x8a41e5d0 SRB Flags 00000000 > Current Power (D0,S0) Desired Power D-1 Idle 00000000 > Current PnP state 0x0 Previous state 0xff > DispatchTable f72fe280 UsePathCounts (P0, H0, C0) > DispatchTable 0x00000000 WmiInfoSize 00000000 > Adapter Extension: > Port 0 IsPnp VirtualSlot HasInterrupt > LowerPdo 0x8a41e5d0 HwDevExt 0x8a3ef004 Active Requests 0xffffffff > MaxBus 0x01 MaxTarget 0x80 MaxLun 0x08 > Port Flags (0x00001000): PD_DISCONNECT_RUNNING > NonCacheExt 0x8a3da000 IoBase 0x00008400 Int 0x1a > RealBus# 0x2 RealSlot# 0x7 > Timeout 0xffffffff DpcFlags 0x00000000 Sequence 0x00000007 > Srb Ext Header 0x8a3e3260 No. Requests 0x000000a0 > QueueTag BitMap 0x00000000 Hint 0x00000000 > MaxQueueTag 0xfe (@0x8a3f85e8) > LuExt Size 0x00000000 SrbExt Size 0x00000030 > SG List Size - Small 17 Large 0 > Emergency - SrbData 0x8a3fa998 Blocked List @0x8a3f8824 > CommonBuff - Size: 0x00015000 PA: 0x0000000009fda000 VA: 0x8a3da000 > Ke Objects - Int1: 0x8a463bb0 Int2: 0x00000000 Dma: > 0x8a47aa60 > Lookaside - SrbData @ 0x8a3f87d0 SgList @0x00000000 Remove: > @0x8a3f84d8 > Resources - Raw: 0x8a47a460 Translated: 0x8a4781f8 > Port Config 8a3f9760 > DeviceMap Handles: Port 000000bc Busses e15611f8 > Interrupt Data @0x8a3f8674: > Flags (0x00000000): > Ready LUN 0x00000000 Wmi Events 0x00000000 > Completed Request List (@0x8a3f8678): 0 entries > LUN 898570e8 @ ( 0, 1, 7) cm v pnp(00/ff) pow(0 ,0) DevObj 89857030 > LUN 898650e8 @ ( 0, 0, 0) c ev pnp(00/ff) pow(0 ,0) DevObj 89865030 > LUN 8985e0e8 @ ( 0, 1, 0) cm v pnp(17/00) pow(0 ,0) DevObj 8985e030 > LUN 8986c0e8 @ ( 0, 0, 1) c ev pnp(00/ff) pow(0 ,0) DevObj 8986c030 > LUN 8985d0e8 @ ( 0, 1, 1) cm v pnp(00/ff) pow(0 ,0) DevObj 8985d030 > LUN 898640e8 @ ( 0, 0, 2) c ev pnp(00/ff) pow(0 ,0) DevObj 89864030 > LUN 8985c0e8 @ ( 0, 1, 2) cm v pnp(00/ff) pow(0 ,0) DevObj 8985c030 > LUN 898630e8 @ ( 0, 0, 3) c ev pnp(00/ff) pow(0 ,0) DevObj 89863030 > LUN 8985b0e8 @ ( 0, 1, 3) cm v pnp(00/ff) pow(0 ,0) DevObj 8985b030 > LUN 898620e8 @ ( 0, 0, 4) c ev pnp(00/ff) pow(0 ,0) DevObj 89862030 > LUN 8985a0e8 @ ( 0, 1, 4) cm v pnp(00/ff) pow(0 ,0) DevObj 8985a030 > LUN 898610e8 @ ( 0, 0, 5) c ev pnp(00/ff) pow(0 ,0) DevObj 89861030 > LUN 898590e8 @ ( 0, 1, 5) cm v pnp(00/ff) pow(0 ,0) DevObj 89859030 > LUN 898600e8 @ ( 0, 0, 6) c ev pnp(00/ff) pow(0 ,0) DevObj 89860030 > LUN 898580e8 @ ( 0, 1, 6) cm v pnp(00/ff) pow(0 ,0) DevObj 89858030 > LUN 8985f0e8 @ ( 0, 0, 7) c ev pnp(00/ff) pow(0 ,0) DevObj 8985f030 > LUN 8a3d70e8 @ ( 0,127, 0) ev pnp(00/ff) pow(0 ,0) DevObj 8a3d7030 > > > This shows the queue being frozen. I would expect these requests to be > returned with an SrbStatus at least set to 0x40 (QUEUE_FROZEN) and > returned > to mydriver where I'd probably issue a request to release the queue and > send the request down again. If the device was gone a SelectionTimeout > status should be returned in which case I'd error the request.
- Next message: Hannes: "Re: IoReuseIrp won't compile"
- Previous message: Peter Wieland [MSFT]: "Re: Would like some clarification on DATA_OVERRUN and QUEUE_FROZEN conditions"
- In reply to: Robert Stankey: "Re: Would like some clarification on DATA_OVERRUN and QUEUE_FROZEN conditions"
- Next in thread: Robert Stankey: "Re: Would like some clarification on DATA_OVERRUN and QUEUE_FROZEN conditions"
- Reply: Robert Stankey: "Re: Would like some clarification on DATA_OVERRUN and QUEUE_FROZEN conditions"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|