The ASSERTion fix in this commit was wrong and lead to NIC unplugs being
missed. This fix simply makes sure the PDO flag is set to FALSE to
avoid tripping over the zero-memory ASSERTion later on in PdoDestroy().
Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
{
NTSTATUS status;
- if (Pdo->UnplugRequested == Make)
- return;
-
+ ASSERT3U(Pdo->UnplugRequested, !=, Make);
Pdo->UnplugRequested = Make;
status = XENBUS_UNPLUG(Acquire, &Pdo->UnplugInterface);
PDEVICE_OBJECT PhysicalDeviceObject = Dx->DeviceObject;
PXENVIF_FDO Fdo = __PdoGetFdo(Pdo);
- PdoUnplugRequest(Pdo, FALSE);
-
+ Pdo->UnplugRequested = FALSE;
Pdo->HasAlias = FALSE;
ASSERT3U(__PdoGetDevicePnpState(Pdo), ==, Deleted);