When BAR array is filled like this * Bar[4] = c844000c <if this one is not the CM_RESOURCE_MEMORY_BAR> * Bar[5] = null ex: while ((descriptor->Type != CmResourceTypeMemory) || !(descriptor->Flags & CM_RESOURCE_MEMORY_BAR)); returns true, the loop continue and the decriptor will be NULL, but it's not an error. So I fix it by setting the status to STATUS_SUCCESS.
Signed-off-by: William Tu <u9012...@gmail.com> --- Found the issue when adding the e1000 PMD support. http://inbox.dpdk.org/dev/20211007202451.90271-1-u9012...@gmail.com/T/#u --- windows/netuio/netuio_dev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/netuio/netuio_dev.c b/windows/netuio/netuio_dev.c index b2deb10..0dd0055 100644 --- a/windows/netuio/netuio_dev.c +++ b/windows/netuio/netuio_dev.c @@ -207,7 +207,7 @@ netuio_map_hw_resources(WDFDEVICE Device, WDFCMRESLIST Resources, WDFCMRESLIST R next_descriptor++; if (descriptor == NULL) { - status = STATUS_DEVICE_CONFIGURATION_ERROR; + status = STATUS_SUCCESS; goto end; } } while ((descriptor->Type != CmResourceTypeMemory) || -- 2.31.1