Closing the ring (and destroying the shared pages, etc) is not required
when a HwStorResetBus or SRB_FUNCTION_RESET_DEVICE is triggered.
Disabling the ring will cause any outstanding blkif_requests and SRBs to
be failed.
Signed-off-by: Owen Smith <owen.smith@citrix.com>
IN PXENVBD_FRONTEND Frontend
)
{
- XENVBD_STATE PreviousState = Frontend->State;
NTSTATUS status;
- if (PreviousState != XENVBD_ENABLED)
+ if (Frontend->State != XENVBD_ENABLED)
goto done;
- status = FrontendSetState(Frontend, XENVBD_CLOSED);
+ status = FrontendSetState(Frontend, XENVBD_CONNECTED);
if (!NT_SUCCESS(status))
goto fail1;
- status = FrontendSetState(Frontend, PreviousState);
+ status = FrontendSetState(Frontend, XENVBD_ENABLED);
if (!NT_SUCCESS(status))
goto fail2;