Page MenuHomeFreeBSD

D10532.id.diff
No OneTemporary

D10532.id.diff

Index: sys/dev/hyperv/vmbus/vmbus.c
===================================================================
--- sys/dev/hyperv/vmbus/vmbus.c
+++ sys/dev/hyperv/vmbus/vmbus.c
@@ -1216,8 +1216,9 @@
static void
vmbus_get_mmio_res_pass(device_t dev, enum parse_pass pass)
{
- device_t acpi0, pcib0 = NULL;
+ device_t acpi0;
device_t *children;
+ const char *child_name;
int i, count;
/* Try to find _CRS on VMBus device */
@@ -1227,7 +1228,7 @@
acpi0 = device_get_parent(dev);
vmbus_get_crs(acpi0, dev, pass);
- /* Try to locate pcib0 and find _CRS on it */
+ /* Try to locate pcib0 and acpi_syscontainer0, and use the _CRS */
if (device_get_children(acpi0, &children, &count) != 0)
return;
@@ -1235,16 +1236,13 @@
if (!device_is_attached(children[i]))
continue;
- if (strcmp("pcib0", device_get_nameunit(children[i])))
- continue;
-
- pcib0 = children[i];
- break;
+ child_name = device_get_nameunit(children[i]);
+ if (!strcmp("pcib0", child_name) ||
+ !strcmp("acpi_syscontainer0", child_name)) {
+ vmbus_get_crs(children[i], dev, pass);
+ }
}
- if (pcib0)
- vmbus_get_crs(pcib0, dev, pass);
-
free(children, M_TEMP);
}

File Metadata

Mime Type
text/plain
Expires
Tue, Jun 23, 9:51 PM (10 h, 53 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
34259844
Default Alt Text
D10532.id.diff (1 KB)

Event Timeline