FdoVirqTeardown() should also be called from the 'fail1' label to clean up
'VirqList'. This patch also modifies FdoVirqTeardown() to make sure 'VirqLock'
is properly zeroed.
Signed-off-by: Paul Durrant <pdurrant@amazon.com>
__FdoVirqDestroy(Virq);
}
+ RtlZeroMemory(&Fdo->VirqLock, sizeof (HIGH_LOCK));
RtlZeroMemory(&Fdo->VirqList, sizeof (LIST_ENTRY));
}
fail2:
Error("fail2\n");
- FdoVirqTeardown(Fdo);
-
fail1:
Error("fail1 (%08x)\n", status);
+ FdoVirqTeardown(Fdo);
+
return status;
}