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

Commit 4bdbd280 authored by Dmitry Torokhov's avatar Dmitry Torokhov
Browse files

Input: handle errors from input_register_device in drivers/macintosh



Signed-off-by: default avatarDmitry Torokhov <dtor@mail.ru>
parent e4477d2d
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -689,7 +689,6 @@ adbhid_input_register(int id, int default_id, int original_handler_id,
	if (!hid || !input_dev) {
		err = -ENOMEM;
		goto fail;

	}

	sprintf(hid->phys, "adb%d:%d.%02x/input", id, default_id, original_handler_id);
@@ -807,7 +806,9 @@ adbhid_input_register(int id, int default_id, int original_handler_id,

	input_dev->keycode = hid->keycode;

	input_register_device(input_dev);
	err = input_register_device(input_dev);
	if (err)
		goto fail;

	if (default_id == ADB_KEYBOARD) {
		/* HACK WARNING!! This should go away as soon there is an utility
@@ -820,7 +821,10 @@ adbhid_input_register(int id, int default_id, int original_handler_id,
	return 0;

 fail:	input_free_device(input_dev);
	if (hid) {
		kfree(hid->keycode);
		kfree(hid);
	}
	adbhid[id] = NULL;
	return err;
}
+6 −2
Original line number Diff line number Diff line
@@ -106,6 +106,8 @@ EXPORT_SYMBOL(mac_hid_mouse_emulate_buttons);

static int emumousebtn_input_register(void)
{
	int ret;

	emumousebtn = input_allocate_device();
	if (!emumousebtn)
		return -ENOMEM;
@@ -120,9 +122,11 @@ static int emumousebtn_input_register(void)
	emumousebtn->keybit[LONG(BTN_MOUSE)] = BIT(BTN_LEFT) | BIT(BTN_MIDDLE) | BIT(BTN_RIGHT);
	emumousebtn->relbit[0] = BIT(REL_X) | BIT(REL_Y);

	input_register_device(emumousebtn);
	ret = input_register_device(emumousebtn);
	if (ret)
		input_free_device(emumousebtn);

	return 0;
	return ret;
}

int __init mac_hid_init(void)