]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
Drivers: hv: make VMBus bus ids persistent
authorVitaly Kuznetsov <vkuznets@redhat.com>
Fri, 16 Sep 2016 16:01:17 +0000 (09:01 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 27 Sep 2016 10:35:49 +0000 (12:35 +0200)
Some tools use bus ids to identify devices and they count on the fact
that these ids are persistent across reboot. This may be not true for
VMBus as we use auto incremented counter from alloc_channel() as such
id. Switch to using if_instance from channel offer, this id is supposed
to be persistent.

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/hv/vmbus_drv.c

index 6cbe074627853074f8bb0c333c6946bd38d19d1c..a259e18d22d5b0e3293230e97979a5120d3265fa 100644 (file)
@@ -961,8 +961,8 @@ int vmbus_device_register(struct hv_device *child_device_obj)
 {
        int ret = 0;
 
-       dev_set_name(&child_device_obj->device, "vmbus_%d",
-                    child_device_obj->channel->id);
+       dev_set_name(&child_device_obj->device, "vmbus-%pUl",
+                    child_device_obj->channel->offermsg.offer.if_instance.b);
 
        child_device_obj->device.bus = &hv_bus;
        child_device_obj->device.parent = &hv_acpi_dev->dev;