[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [win-pv-devel] [PATCH 3/7] Stop using XENBUS_DX ListEntry as the FDOs list of PDOs
Add a new List member to XENBUS_FDO for this purpose and hence bring it into line with XENFILT_FDO. Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx> --- src/xenbus/fdo.c | 40 +++++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/src/xenbus/fdo.c b/src/xenbus/fdo.c index 9eca2ca..28ccb36 100644 --- a/src/xenbus/fdo.c +++ b/src/xenbus/fdo.c @@ -97,6 +97,7 @@ struct _XENBUS_FDO { CHAR VendorName[MAXNAMELEN]; MUTEX Mutex; + LIST_ENTRY List; ULONG References; PXENBUS_THREAD ScanThread; @@ -951,7 +952,7 @@ FdoAddPhysicalDeviceObject( Dx = (PXENBUS_DX)DeviceObject->DeviceExtension; ASSERT3U(Dx->Type, ==, PHYSICAL_DEVICE_OBJECT); - InsertTailList(&Fdo->Dx->ListEntry, &Dx->ListEntry); + InsertTailList(&Fdo->List, &Dx->ListEntry); ASSERT3U(Fdo->References, !=, 0); Fdo->References++; @@ -1048,8 +1049,8 @@ FdoEnumerate( __FdoAcquireMutex(Fdo); - ListEntry = Fdo->Dx->ListEntry.Flink; - while (ListEntry != &Fdo->Dx->ListEntry) { + ListEntry = Fdo->List.Flink; + while (ListEntry != &Fdo->List) { PLIST_ENTRY Next = ListEntry->Flink; PXENBUS_DX Dx = CONTAINING_RECORD(ListEntry, XENBUS_DX, ListEntry); PCHAR Name = Dx->Name; @@ -2781,8 +2782,8 @@ not_active: __FdoAcquireMutex(Fdo); - for (ListEntry = Fdo->Dx->ListEntry.Flink; - ListEntry != &Fdo->Dx->ListEntry; + for (ListEntry = Fdo->List.Flink; + ListEntry != &Fdo->List; ListEntry = ListEntry->Flink) { PXENBUS_DX Dx = CONTAINING_RECORD(ListEntry, XENBUS_DX, ListEntry); PXENBUS_PDO Pdo = Dx->Pdo; @@ -2864,8 +2865,8 @@ FdoD0ToD3( __FdoAcquireMutex(Fdo); - for (ListEntry = Fdo->Dx->ListEntry.Flink; - ListEntry != &Fdo->Dx->ListEntry; + for (ListEntry = Fdo->List.Flink; + ListEntry != &Fdo->List; ListEntry = ListEntry->Flink) { PXENBUS_DX Dx = CONTAINING_RECORD(ListEntry, XENBUS_DX, ListEntry); PXENBUS_PDO Pdo = Dx->Pdo; @@ -3384,8 +3385,8 @@ FdoSurpriseRemoval( __FdoAcquireMutex(Fdo); - for (ListEntry = Fdo->Dx->ListEntry.Flink; - ListEntry != &Fdo->Dx->ListEntry; + for (ListEntry = Fdo->List.Flink; + ListEntry != &Fdo->List; ListEntry = ListEntry->Flink) { PXENBUS_DX Dx = CONTAINING_RECORD(ListEntry, XENBUS_DX, ListEntry); PXENBUS_PDO Pdo = Dx->Pdo; @@ -3437,8 +3438,8 @@ FdoRemoveDevice( __FdoAcquireMutex(Fdo); - ListEntry = Fdo->Dx->ListEntry.Flink; - while (ListEntry != &Fdo->Dx->ListEntry) { + ListEntry = Fdo->List.Flink; + while (ListEntry != &Fdo->List) { PLIST_ENTRY Flink = ListEntry->Flink; PXENBUS_DX Dx = CONTAINING_RECORD(ListEntry, XENBUS_DX, ListEntry); PXENBUS_PDO Pdo = Dx->Pdo; @@ -3574,8 +3575,8 @@ FdoQueryDeviceRelations( __FdoAcquireMutex(Fdo); Count = 0; - for (ListEntry = Fdo->Dx->ListEntry.Flink; - ListEntry != &Fdo->Dx->ListEntry; + for (ListEntry = Fdo->List.Flink; + ListEntry != &Fdo->List; ListEntry = ListEntry->Flink) Count++; @@ -3587,8 +3588,8 @@ FdoQueryDeviceRelations( if (Relations == NULL) goto fail1; - for (ListEntry = Fdo->Dx->ListEntry.Flink; - ListEntry != &Fdo->Dx->ListEntry; + for (ListEntry = Fdo->List.Flink; + ListEntry != &Fdo->List; ListEntry = ListEntry->Flink) { PXENBUS_DX Dx = CONTAINING_RECORD(ListEntry, XENBUS_DX, ListEntry); PXENBUS_PDO Pdo = Dx->Pdo; @@ -3626,8 +3627,8 @@ FdoQueryDeviceRelations( __FdoAcquireMutex(Fdo); - for (ListEntry = Fdo->Dx->ListEntry.Flink; - ListEntry != &Fdo->Dx->ListEntry; + for (ListEntry = Fdo->List.Flink; + ListEntry != &Fdo->List; ListEntry = ListEntry->Flink) { PXENBUS_DX Dx = CONTAINING_RECORD(ListEntry, XENBUS_DX, ListEntry); PXENBUS_PDO Pdo = Dx->Pdo; @@ -4909,7 +4910,7 @@ FdoCreate( done: InitializeMutex(&Fdo->Mutex); - InitializeListHead(&Dx->ListEntry); + InitializeListHead(&Fdo->List); Fdo->References = 1; (VOID) FdoSetFriendlyName(Fdo, Header.DeviceID); @@ -5048,7 +5049,7 @@ FdoDestroy( PXENBUS_DX Dx = Fdo->Dx; PDEVICE_OBJECT FunctionDeviceObject = Dx->DeviceObject; - ASSERT(IsListEmpty(&Dx->ListEntry)); + ASSERT(IsListEmpty(&Fdo->List)); ASSERT3U(Fdo->References, ==, 0); ASSERT3U(__FdoGetDevicePnpState(Fdo), ==, Deleted); @@ -5060,6 +5061,7 @@ FdoDestroy( Dx->Fdo = NULL; + RtlZeroMemory(&Fdo->List, sizeof (LIST_ENTRY)); RtlZeroMemory(&Fdo->Mutex, sizeof (MUTEX)); if (__FdoIsActive(Fdo)) { -- 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 |