From 20fbaf68c257f271ed5b002cb674bd3c3d493d9e Mon Sep 17 00:00:00 2001 From: "K. Y. Srinivasan" Date: Thu, 29 Sep 2011 11:54:57 -0700 Subject: [PATCH] --- yaml --- r: 268669 b: refs/heads/master c: 8ec31f9385fdcd7c71fa0078deb0e84840f3cb49 h: refs/heads/master i: 268667: b8b7086ed3435ed1d1d786bdc4552d9f6b1ef38d v: v3 --- [refs] | 2 +- trunk/drivers/staging/hv/hv_mouse.c | 47 +++++++++++------------------ 2 files changed, 18 insertions(+), 31 deletions(-) diff --git a/[refs] b/[refs] index 42e4e5a86ed5..8e4ec0510675 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 8660e38fab8b8a39ac828fb8a8579a9ad1b5d59d +refs/heads/master: 8ec31f9385fdcd7c71fa0078deb0e84840f3cb49 diff --git a/trunk/drivers/staging/hv/hv_mouse.c b/trunk/drivers/staging/hv/hv_mouse.c index 75ea2db1a750..53244293a25c 100644 --- a/trunk/drivers/staging/hv/hv_mouse.c +++ b/trunk/drivers/staging/hv/hv_mouse.c @@ -660,33 +660,6 @@ static int mousevsc_on_device_add(struct hv_device *device, return ret; } -static int mousevsc_on_device_remove(struct hv_device *device) -{ - struct mousevsc_dev *input_dev; - int ret = 0; - - - input_dev = release_input_device(device); - - - /* - * At this point, all outbound traffic should be disable. We only - * allow inbound traffic (responses) to proceed - * - * so that outstanding requests can be completed. - */ - - input_dev = final_release_input_device(device); - - /* Close the channel */ - vmbus_close(device->channel); - - free_input_device(input_dev); - - return ret; -} - - static int mousevsc_probe(struct hv_device *dev, const struct hv_vmbus_device_id *dev_id) { @@ -706,11 +679,25 @@ static int mousevsc_remove(struct hv_device *dev) hid_destroy_device(input_dev->hid_device); } + + release_input_device(dev); + + /* - * Call to the vsc driver to let it know that the device - * is being removed + * At this point, all outbound traffic should be disable. We only + * allow inbound traffic (responses) to proceed + * + * so that outstanding requests can be completed. */ - return mousevsc_on_device_remove(dev); + + input_dev = final_release_input_device(dev); + + /* Close the channel */ + vmbus_close(dev->channel); + + free_input_device(input_dev); + + return 0; } static const struct hv_vmbus_device_id id_table[] = {