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

tty: make tty_ldisc_ops a param in tty_unregister_ldisc



Make tty_unregister_ldisc symmetric to tty_register_ldisc by accepting
struct tty_ldisc_ops as a parameter instead of ldisc number. This avoids
checking of the ldisc number bounds in tty_unregister_ldisc.

Signed-off-by: default avatarJiri Slaby <jslaby@suse.cz>
Cc: William Hubbs <w.d.hubbs@gmail.com>
Cc: Chris Brannon <chris@the-brannons.com>
Cc: Kirk Reiser <kirk@reisers.ca>
Cc: Samuel Thibault <samuel.thibault@ens-lyon.org>
Cc: Marcel Holtmann <marcel@holtmann.org>
Cc: Johan Hedberg <johan.hedberg@gmail.com>
Cc: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Wolfgang Grandegger <wg@grandegger.com>
Cc: Marc Kleine-Budde <mkl@pengutronix.de>
Cc: Andreas Koensgen <ajk@comnets.uni-bremen.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Rodolfo Giometti <giometti@enneenne.com>
Cc: Peter Ujfalusi <peter.ujfalusi@gmail.com>
Cc: Liam Girdwood <lgirdwood@gmail.com>
Cc: Mark Brown <broonie@kernel.org>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.com>
Link: https://lore.kernel.org/r/20210505091928.22010-17-jslaby@suse.cz


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 839e0f22
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -219,7 +219,7 @@ void spk_ttyio_register_ldisc(void)

void spk_ttyio_unregister_ldisc(void)
{
	if (tty_unregister_ldisc(N_SPEAKUP))
	if (tty_unregister_ldisc(&spk_ttyio_ldisc_ops))
		pr_warn("speakup: Couldn't unregister ldisc\n");
}

+1 −1
Original line number Diff line number Diff line
@@ -917,7 +917,7 @@ static void __exit hci_uart_exit(void)
#endif

	/* Release tty registration of line discipline */
	err = tty_unregister_ldisc(N_HCI);
	err = tty_unregister_ldisc(&hci_uart_ldisc);
	if (err)
		BT_ERR("Can't unregister HCI line discipline (%d)", err);
}
+1 −1
Original line number Diff line number Diff line
@@ -304,7 +304,7 @@ static int __init serport_init(void)

static void __exit serport_exit(void)
{
	tty_unregister_ldisc(N_MOUSE);
	tty_unregister_ldisc(&serport_ldisc);
}

module_init(serport_init);
+3 −3
Original line number Diff line number Diff line
@@ -872,7 +872,7 @@ int st_core_init(struct st_data_s **core_data)
	st_gdata = kzalloc(sizeof(struct st_data_s), GFP_KERNEL);
	if (!st_gdata) {
		pr_err("memory allocation failed");
		err = tty_unregister_ldisc(N_TI_WL);
		err = tty_unregister_ldisc(&st_ldisc_ops);
		if (err)
			pr_err("unable to un-register ldisc %ld", err);
		err = -ENOMEM;
@@ -892,7 +892,7 @@ int st_core_init(struct st_data_s **core_data)
	if (err) {
		pr_err("error during st_ll initialization(%ld)", err);
		kfree(st_gdata);
		err = tty_unregister_ldisc(N_TI_WL);
		err = tty_unregister_ldisc(&st_ldisc_ops);
		if (err)
			pr_err("unable to un-register ldisc");
		return err;
@@ -919,7 +919,7 @@ void st_core_exit(struct st_data_s *st_gdata)
		kfree_skb(st_gdata->rx_skb);
		kfree_skb(st_gdata->tx_skb);
		/* TTY ldisc cleanup */
		err = tty_unregister_ldisc(N_TI_WL);
		err = tty_unregister_ldisc(&st_ldisc_ops);
		if (err)
			pr_err("unable to un-register ldisc %ld", err);
		/* free the global data pointer */
+1 −1
Original line number Diff line number Diff line
@@ -447,7 +447,7 @@ static void __exit caif_ser_exit(void)
	spin_unlock(&ser_lock);
	ser_release(NULL);
	cancel_work_sync(&ser_release_work);
	tty_unregister_ldisc(N_CAIF);
	tty_unregister_ldisc(&caif_ldisc);
	debugfs_remove_recursive(debugfsdir);
}

Loading