Commit 6a180978 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman

Staging: hv: hv_mouse: fix up remove() function

This function obviously never worked, it was a cut-and-paste from the
probe() function.  Rewrite it to do what it is supposed to do at least
in theory.  As to if it works yet, well, it's not worse than it was
before, so this can't hurt.

Cc: K. Y. Srinivasan <kys@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Cc: Hank Janssen <hjanssen@microsoft.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 4ab0871d
......@@ -847,15 +847,10 @@ static int mousevsc_probe(struct hv_device *dev)
static int mousevsc_remove(struct hv_device *dev)
{
int ret = 0;
struct input_device_context *input_dev_ctx;
int ret;
input_dev_ctx = kmalloc(sizeof(struct input_device_context),
GFP_KERNEL);
dev_set_drvdata(&dev->device, input_dev_ctx);
input_dev_ctx = dev_get_drvdata(&dev->device);
if (input_dev_ctx->connected) {
hidinput_disconnect(input_dev_ctx->hid_device);
input_dev_ctx->connected = 0;
......@@ -866,7 +861,6 @@ static int mousevsc_remove(struct hv_device *dev)
* is being removed
*/
ret = mousevsc_on_device_remove(dev);
if (ret != 0) {
DPRINT_ERR(INPUTVSC_DRV,
"unable to remove vsc device (ret %d)", ret);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment