diff options
author | Dexuan Cui <decui@microsoft.com> | 2017-11-14 16:53:32 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-12-18 17:47:12 +0300 |
commit | 869b5567e12f63ea7407f81728ca87f8c0abbfdb (patch) | |
tree | be534d33b4ab23a29e28aaaf1261c64c8822d618 | |
parent | 74657181e7c449351d1ad28cf43941bc333e1bd6 (diff) | |
download | linux-869b5567e12f63ea7407f81728ca87f8c0abbfdb.tar.xz |
vmbus: unregister device_obj->channels_kset
Without the patch, a device can't be thoroughly destroyed, because
vmbus_device_register() -> kset_create_and_add() still holds a reference
to the hv_device's device.kobj.
Signed-off-by: Dexuan Cui <decui@microsoft.com>
Cc: Stephen Hemminger <sthemmin@microsoft.com>
Fixes: c2e5df616e1a ("vmbus: add per-channel sysfs info")
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/hv/vmbus_drv.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c index 76ed9a216f10..610223f0e945 100644 --- a/drivers/hv/vmbus_drv.c +++ b/drivers/hv/vmbus_drv.c @@ -1378,6 +1378,8 @@ void vmbus_device_unregister(struct hv_device *device_obj) pr_debug("child device %s unregistered\n", dev_name(&device_obj->device)); + kset_unregister(device_obj->channels_kset); + /* * Kick off the process of unregistering the device. * This will call vmbus_remove() and eventually vmbus_device_release() |