Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0399addd authored by Dmitry Torokhov's avatar Dmitry Torokhov
Browse files

Input: grip - handle errors from input_register_device()



Also set .owner in driver structure so we'll have a link between
module and driver in sysfs.

Signed-off-by: default avatarDmitry Torokhov <dtor@mail.ru>
parent 3575c341
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -384,12 +384,15 @@ static int grip_connect(struct gameport *gameport, struct gameport_driver *drv)
			if (t > 0)
				set_bit(t, input_dev->keybit);

		input_register_device(grip->dev[i]);
		err = input_register_device(grip->dev[i]);
		if (err)
			goto fail4;
	}

	return 0;

 fail3: for (i = 0; i < 2; i++)
 fail4:	input_free_device(grip->dev[i]);
 fail3:	while (--i >= 0)
		if (grip->dev[i])
			input_unregister_device(grip->dev[i]);
 fail2:	gameport_close(gameport);
@@ -414,6 +417,7 @@ static void grip_disconnect(struct gameport *gameport)
static struct gameport_driver grip_drv = {
	.driver		= {
		.name	= "grip",
		.owner	= THIS_MODULE,
	},
	.description	= DRIVER_DESC,
	.connect	= grip_connect,