Drivers: hv: vmbus: Perform device register in the per-channel work element

This patch is a continuation of the rescind handling cleanup work. We cannot
block in the global message handling work context especially if we are blocking
waiting for the host to wake us up. I would like to thank
Dexuan Cui <decui@microsoft.com> for observing this problem.

The current char-next branch is broken and this patch fixes
the bug.

Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
K. Y. Srinivasan
2015-03-18 12:29:21 -07:00
committed by Greg Kroah-Hartman
parent 0daa7a0afd
commit fde25d25db
3 changed files with 107 additions and 44 deletions

View File

@@ -698,7 +698,7 @@ void vmbus_device_unregister(struct hv_device *device_obj);
/* VmbusChildDeviceDestroy( */
/* struct hv_device *); */
struct vmbus_channel *relid2channel(u32 relid);
struct vmbus_channel *relid2channel(u32 relid, bool rescind);
void vmbus_free_channels(void);