Commit 6c2e6317 authored by Jiri Slaby's avatar Jiri Slaby Committed by Greg Kroah-Hartman
Browse files

tty: do not check tty_unregister_driver's return value



These drivers check tty_unregister_driver return value. But they don't
handle a failure correctly (they free the driver in any case). So stop
checking tty_unregister_driver return value and remove also the prints.

In the next patch, tty_unregister_driver's return type will be switched
to void.

Cc: Chris Zankel <chris@zankel.net>
Cc: Max Filippov <jcmvbkbc@gmail.com>
Cc: linux-xtensa@linux-xtensa.org
Cc: Jiri Kosina <jikos@kernel.org>
Cc: David Sterba <dsterba@suse.com>
Reviewed-by: default avatarMax Filippov <jcmvbkbc@gmail.com>
Acked-by: default avatarDavid Sterba <dsterba@suse.com>
Signed-off-by: default avatarJiri Slaby <jslaby@suse.cz>
Link: https://lore.kernel.org/r/20210302062214.29627-34-jslaby@suse.cz


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent ba444ea3
Loading
Loading
Loading
Loading
+1 −5
Original line number Original line Diff line number Diff line
@@ -171,11 +171,7 @@ static int __init rs_init(void)


static __exit void rs_exit(void)
static __exit void rs_exit(void)
{
{
	int error;
	tty_unregister_driver(serial_driver);

	if ((error = tty_unregister_driver(serial_driver)))
		pr_err("ISS_SERIAL: failed to unregister serial driver (%d)\n",
		       error);
	put_tty_driver(serial_driver);
	put_tty_driver(serial_driver);
	tty_port_destroy(&serial_port);
	tty_port_destroy(&serial_port);
}
}
+2 −6
Original line number Original line Diff line number Diff line
@@ -1622,21 +1622,17 @@ static int __init amiga_serial_probe(struct platform_device *pdev)


static int __exit amiga_serial_remove(struct platform_device *pdev)
static int __exit amiga_serial_remove(struct platform_device *pdev)
{
{
	int error;
	struct serial_state *state = platform_get_drvdata(pdev);
	struct serial_state *state = platform_get_drvdata(pdev);


	/* printk("Unloading %s: version %s\n", serial_name, serial_version); */
	/* printk("Unloading %s: version %s\n", serial_name, serial_version); */
	error = tty_unregister_driver(serial_driver);
	tty_unregister_driver(serial_driver);
	if (error)
		printk("SERIAL: failed to unregister serial driver (%d)\n",
		       error);
	put_tty_driver(serial_driver);
	put_tty_driver(serial_driver);
	tty_port_destroy(&state->tport);
	tty_port_destroy(&state->tport);


	free_irq(IRQ_AMIGA_TBE, state);
	free_irq(IRQ_AMIGA_TBE, state);
	free_irq(IRQ_AMIGA_RBF, state);
	free_irq(IRQ_AMIGA_RBF, state);


	return error;
	return 0;
}
}


static struct platform_driver amiga_serial_driver = {
static struct platform_driver amiga_serial_driver = {
+1 −6
Original line number Original line Diff line number Diff line
@@ -596,13 +596,8 @@ int ipwireless_tty_init(void)


void ipwireless_tty_release(void)
void ipwireless_tty_release(void)
{
{
	int ret;
	tty_unregister_driver(ipw_tty_driver);

	ret = tty_unregister_driver(ipw_tty_driver);
	put_tty_driver(ipw_tty_driver);
	put_tty_driver(ipw_tty_driver);
	if (ret != 0)
		printk(KERN_ERR IPWIRELESS_PCCARD_NAME
			": tty_unregister_driver failed with code %d\n", ret);
}
}


int ipwireless_tty_is_modem(struct ipw_tty *tty)
int ipwireless_tty_is_modem(struct ipw_tty *tty)
+1 −3
Original line number Original line Diff line number Diff line
@@ -1118,9 +1118,7 @@ static void __exit moxa_exit(void)


	del_timer_sync(&moxaTimer);
	del_timer_sync(&moxaTimer);


	if (tty_unregister_driver(moxaDriver))
	tty_unregister_driver(moxaDriver);
		printk(KERN_ERR "Couldn't unregister MOXA Intellio family "
				"serial driver\n");
	put_tty_driver(moxaDriver);
	put_tty_driver(moxaDriver);
}
}


+1 −3
Original line number Original line Diff line number Diff line
@@ -373,9 +373,7 @@ int kgdb_unregister_nmi_console(void)
	if (ret)
	if (ret)
		return ret;
		return ret;


	ret = tty_unregister_driver(kgdb_nmi_tty_driver);
	tty_unregister_driver(kgdb_nmi_tty_driver);
	if (ret)
		return ret;
	put_tty_driver(kgdb_nmi_tty_driver);
	put_tty_driver(kgdb_nmi_tty_driver);


	return 0;
	return 0;
Loading