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

Commit 0ea92c50 authored by Wei Yongjun's avatar Wei Yongjun Committed by Mauro Carvalho Chehab
Browse files

[media] staging: lirc: add missing platform_device_del() on error



Add the missing platform_device_del() before return from
lirc_parallel_init() in the error handling case.

Signed-off-by: default avatarWei Yongjun <yongjun_wei@trendmicro.com.cn>
parent 4a86bc10
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -650,7 +650,7 @@ static int __init lirc_parallel_init(void)
	if (!pport) {
		pr_notice("no port at %x found\n", io);
		result = -ENXIO;
		goto exit_device_put;
		goto exit_device_del;
	}
	ppdevice = parport_register_device(pport, LIRC_DRIVER_NAME,
					   pf, kf, lirc_lirc_irq_handler, 0,
@@ -659,7 +659,7 @@ static int __init lirc_parallel_init(void)
	if (!ppdevice) {
		pr_notice("parport_register_device() failed\n");
		result = -ENXIO;
		goto exit_device_put;
		goto exit_device_del;
	}
	if (parport_claim(ppdevice) != 0)
		goto skip_init;
@@ -678,7 +678,7 @@ static int __init lirc_parallel_init(void)
		parport_release(pport);
		parport_unregister_device(ppdevice);
		result = -EIO;
		goto exit_device_put;
		goto exit_device_del;
	}

#endif
@@ -695,11 +695,13 @@ static int __init lirc_parallel_init(void)
		pr_notice("register_chrdev() failed\n");
		parport_unregister_device(ppdevice);
		result = -EIO;
		goto exit_device_put;
		goto exit_device_del;
	}
	pr_info("installed using port 0x%04x irq %d\n", io, irq);
	return 0;

exit_device_del:
	platform_device_del(lirc_parallel_dev);
exit_device_put:
	platform_device_put(lirc_parallel_dev);
exit_driver_unregister: