[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [win-pv-devel] [PATCH 13/14 v2] Ensure D0 <-> D3 transitions occur from the correct state only.
> -----Original Message----- > From: win-pv-devel [mailto:win-pv-devel-bounces@xxxxxxxxxxxxxxxxxxxx] On > Behalf Of owen.smith@xxxxxxxxxx > Sent: 23 February 2018 14:22 > To: win-pv-devel@xxxxxxxxxxxxxxxxxxxx > Cc: Owen Smith <owen.smith@xxxxxxxxxx> > Subject: [win-pv-devel] [PATCH 13/14 v2] Ensure D0 <-> D3 transitions occur > from the correct state only. > > From: Owen Smith <owen.smith@xxxxxxxxxx> > > Attempting to set D0 when already at D0 will trigger an ASSERT > and overwrite several variables. > > Signed-off-by: Owen Smith <owen.smith@xxxxxxxxxx> Acked-by: Paul Durrant <paul.durrant@xxxxxxxxxx> > --- > src/xencons/pdo.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/src/xencons/pdo.c b/src/xencons/pdo.c > index 935b6ca..6a41934 100755 > --- a/src/xencons/pdo.c > +++ b/src/xencons/pdo.c > @@ -445,6 +445,8 @@ PdoD3ToD0( > Trace("(%s) ====>\n", __PdoGetName(Pdo)); > > ASSERT3U(KeGetCurrentIrql(), == , PASSIVE_LEVEL); > + if (__PdoGetDevicePowerState(Pdo) == PowerDeviceD0) > + goto done; > > KeRaiseIrql(DISPATCH_LEVEL, &Irql); > > @@ -471,6 +473,7 @@ PdoD3ToD0( > if (!NT_SUCCESS(status)) > goto fail4; > > +done: > #pragma prefast(suppress:28123) > (VOID) IoSetDeviceInterfaceState(&Pdo->Dx->Link, TRUE); > > @@ -521,6 +524,9 @@ PdoD0ToD3( > #pragma prefast(suppress:28123) > (VOID) IoSetDeviceInterfaceState(&Pdo->Dx->Link, FALSE); > > + if (__PdoGetDevicePowerState(Pdo) == PowerDeviceD3) > + goto done; > + > XENCONS_CONSOLE_ABI(D0ToD3, &Pdo->ConsoleAbi); > > KeRaiseIrql(DISPATCH_LEVEL, &Irql); > @@ -536,6 +542,7 @@ PdoD0ToD3( > > KeLowerIrql(Irql); > > +done: > Trace("(%s) <====\n", __PdoGetName(Pdo)); > } > > -- > 2.8.3 > > > _______________________________________________ > win-pv-devel mailing list > win-pv-devel@xxxxxxxxxxxxxxxxxxxx > https://lists.xenproject.org/mailman/listinfo/win-pv-devel _______________________________________________ win-pv-devel mailing list win-pv-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/win-pv-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |