|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [win-pv-devel] [PATCH] Skip interface checks on non-active FDO
If the non-active FDO powers down before the active one then we end up
with the BUG_ONs firing erroneously.
Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx>
---
src/xenbus/fdo.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/xenbus/fdo.c b/src/xenbus/fdo.c
index e889871..00801c9 100644
--- a/src/xenbus/fdo.c
+++ b/src/xenbus/fdo.c
@@ -3206,6 +3206,9 @@ FdoS3ToS4(
ASSERT3U(KeGetCurrentIrql(), ==, PASSIVE_LEVEL);
ASSERT3U(__FdoGetSystemPowerState(Fdo), ==, PowerSystemSleeping3);
+ if (!__FdoIsActive(Fdo))
+ goto not_active;
+
BUG_ON(SuspendGetReferences(Fdo->SuspendContext) != 0);
BUG_ON(SharedInfoGetReferences(Fdo->SharedInfoContext) != 0);
BUG_ON(EvtchnGetReferences(Fdo->EvtchnContext) != 0);
@@ -3217,6 +3220,7 @@ FdoS3ToS4(
BUG_ON(UnplugGetReferences(Fdo->UnplugContext) != 0);
BUG_ON(BalloonGetReferences(Fdo->BalloonContext) != 0);
+not_active:
__FdoSetSystemPowerState(Fdo, PowerSystemHibernate);
Trace("<====\n");
--
2.1.1
_______________________________________________
win-pv-devel mailing list
win-pv-devel@xxxxxxxxxxxxxxxxxxxx
http://lists.xenproject.org/cgi-bin/mailman/listinfo/win-pv-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |