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

Commit 07cf779c authored by Dmitry Torokhov's avatar Dmitry Torokhov
Browse files

Input: sidewinder - 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 847fd5fb
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -771,11 +771,14 @@ static int sw_connect(struct gameport *gameport, struct gameport_driver *drv)

		dbg("%s%s [%d-bit id %d data %d]\n", sw->name, comment, m, l, k);

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

	return 0;

 fail4:	input_free_device(sw->dev[i]);
 fail3:	while (--i >= 0)
		input_unregister_device(sw->dev[i]);
 fail2:	gameport_close(gameport);
@@ -801,6 +804,7 @@ static void sw_disconnect(struct gameport *gameport)
static struct gameport_driver sw_drv = {
	.driver		= {
		.name	= "sidewinder",
		.owner	= THIS_MODULE,
	},
	.description	= DRIVER_DESC,
	.connect	= sw_connect,