Reset (surprise remove): steps 15-20

The steps of reset (surprise-remove), which are Steps 15 through 20, are described below. The steps correspond to the diagram shown in UE hang detection and recovery flow.

Once the Reset Recovery can proceed, the bus causes PnP to generate a surprise-remove IRP. When NDIS receives the surprise-remove IRP, it calls back WDI for a surprise-remove PnP event callback. WDI forwards the surprise-remove as a WDI command to the LE, where the LE returns the hung WDI command. The rest of flow is identical to a real device surprise-remove on a bus (for example, USB).

Cleanup commands flow to the LE to facilitate the return of resources. In this state, the LE should not touch the hardware.

Step Action
15 NDIS calls back the PnP event for surprise-remove.
16 WDI calls back the LE for surprise-remove.
17 The LE returns the hung WDI command. The LE only needs a slot for outstanding WDI commands because WDI serializes WDI commands to the LE, except Diagnose and Abort.
18 WDI ignores the return of the hung WDI command because it has returned the original NDIS command.
19 The LE returns WDI surprise-remove.
20 WDI returns NDIS PnP callbacks for surprise-remove.

UE hang detection: steps 1-14

UE hang detection and recovery flow