]> xenbits.xensource.com Git - people/pauldu/xenvif.git/commitdiff
Revert commit 272428b6
authorPaul Durrant <paul.durrant@citrix.com>
Wed, 21 Sep 2016 12:18:24 +0000 (13:18 +0100)
committerPaul Durrant <paul.durrant@citrix.com>
Wed, 21 Sep 2016 12:18:24 +0000 (13:18 +0100)
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>
src/xenvif/pdo.c

index 428ce0d9182ad2a6006f0558345b328f9869378d..812622e43d58c3ee7e8d2c3eb512ee821d683993 100644 (file)
@@ -1192,9 +1192,7 @@ PdoUnplugRequest(
 {
     NTSTATUS        status;
 
-    if (Pdo->UnplugRequested == Make)
-        return;
-
+    ASSERT3U(Pdo->UnplugRequested, !=, Make);
     Pdo->UnplugRequested = Make;
 
     status = XENBUS_UNPLUG(Acquire, &Pdo->UnplugInterface);
@@ -2842,8 +2840,7 @@ PdoDestroy(
     PDEVICE_OBJECT  PhysicalDeviceObject = Dx->DeviceObject;
     PXENVIF_FDO     Fdo = __PdoGetFdo(Pdo);
 
-    PdoUnplugRequest(Pdo, FALSE);
-
+    Pdo->UnplugRequested = FALSE;
     Pdo->HasAlias = FALSE;
 
     ASSERT3U(__PdoGetDevicePnpState(Pdo), ==, Deleted);