[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[win-pv-devel] [PATCH 09/15] The EVTCHN ABI Unmask methods should simply return Pending state



The methods should not care whether the current thread is responsible for
clearing the mask.

Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx>
---
 src/xenbus/evtchn_fifo.c | 4 ----
 src/xenbus/shared_info.c | 4 +---
 2 files changed, 1 insertion(+), 7 deletions(-)

diff --git a/src/xenbus/evtchn_fifo.c b/src/xenbus/evtchn_fifo.c
index f44f3fc..078e067 100644
--- a/src/xenbus/evtchn_fifo.c
+++ b/src/xenbus/evtchn_fifo.c
@@ -433,10 +433,6 @@ EvtchnFifoPortUnmask(
         New = Old & ~(1 << EVTCHN_FIFO_MASKED);
     } while (InterlockedCompareExchange((LONG *)EventWord, New, Old) != Old);
 
-    // Check whether the port was masked
-    if (~Old & (1 << EVTCHN_FIFO_MASKED))
-        return FALSE;
-
     // If we cleared the mask then check whether something is pending
     return __EvtchnFifoTestFlag(EventWord, EVTCHN_FIFO_PENDING);
 }
diff --git a/src/xenbus/shared_info.c b/src/xenbus/shared_info.c
index 240d87b..1aca2e2 100644
--- a/src/xenbus/shared_info.c
+++ b/src/xenbus/shared_info.c
@@ -309,9 +309,7 @@ SharedInfoEvtchnUnmask(
     SelectorBit = Port / XENBUS_SHARED_INFO_EVTCHN_PER_SELECTOR;
     PortBit = Port % XENBUS_SHARED_INFO_EVTCHN_PER_SELECTOR;
 
-    // Check whether the port is masked
-    if (!SharedInfoClearBit(&Shared->evtchn_mask[SelectorBit], PortBit))
-        return FALSE;
+    (VOID) SharedInfoClearBit(&Shared->evtchn_mask[SelectorBit], PortBit);
 
     KeMemoryBarrier();
 
-- 
2.1.1


_______________________________________________
win-pv-devel mailing list
win-pv-devel@xxxxxxxxxxxxxxxxxxxx
http://lists.xenproject.org/cgi-bin/mailman/listinfo/win-pv-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.