diff --git a/src/node_device/node_device_driver.c b/src/node_device/node_device_driver.c
index 5af4a01d73..235c987c63 100644
--- a/src/node_device/node_device_driver.c
+++ b/src/node_device/node_device_driver.c
@@ -1028,7 +1028,8 @@ nodeDeviceGetMdevctlListCommand(bool defined,
static void mdevGenerateDeviceName(virNodeDeviceDef *dev)
{
- nodeDeviceGenerateName(dev, "mdev", dev->caps->data.mdev.uuid, NULL);
+ nodeDeviceGenerateName(dev, "mdev", dev->caps->data.mdev.uuid,
+ dev->caps->data.mdev.parent_addr);
}
diff --git a/src/node_device/node_device_udev.c b/src/node_device/node_device_udev.c
index 81037d8139..90a64f16b0 100644
--- a/src/node_device/node_device_udev.c
+++ b/src/node_device/node_device_udev.c
@@ -1067,7 +1067,7 @@ udevProcessMediatedDevice(struct udev_device *dev,
return -1;
}
- udevGenerateDeviceName(dev, def, NULL);
+ udevGenerateDeviceName(dev, def, data->parent_addr);
data->iommuGroupNumber = iommugrp;
diff --git a/tests/nodedevmdevctldata/mdevctl-list-multiple.out.xml b/tests/nodedevmdevctldata/mdevctl-list-multiple.out.xml
index f6da82b020..4b558a1464 100644
--- a/tests/nodedevmdevctldata/mdevctl-list-multiple.out.xml
+++ b/tests/nodedevmdevctldata/mdevctl-list-multiple.out.xml
@@ -1,5 +1,5 @@
- mdev_200f228a_c80a_4d50_bfb7_f5a0e4e34045
+ mdev_200f228a_c80a_4d50_bfb7_f5a0e4e34045_0000_00_02_0
pci_0000_00_02_0
@@ -8,7 +8,7 @@
- mdev_de807ffc_1923_4d5f_b6c9_b20ecebc6d4b
+ mdev_de807ffc_1923_4d5f_b6c9_b20ecebc6d4b_0000_00_02_0
pci_0000_00_02_0
@@ -17,7 +17,7 @@
- mdev_435722ea_5f43_468a_874f_da34f1217f13
+ mdev_435722ea_5f43_468a_874f_da34f1217f13_0000_00_02_0
pci_0000_00_02_0
@@ -27,7 +27,7 @@
- mdev_783e6dbb_ea0e_411f_94e2_717eaad438bf
+ mdev_783e6dbb_ea0e_411f_94e2_717eaad438bf_matrix
ap_matrix