aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/drivers/usb/host/xhci-dbgtty.c
diff options
context:
space:
mode:
authorMathias Nyman <mathias.nyman@linux.intel.com>2020-07-23 17:45:29 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2020-07-23 17:05:29 +0200
commit688915b11aa7f8b92d12a2e4672d71e3626a0e6a (patch)
tree60f13d1b7ec88b88b90c48334e713e39bbdad2da /drivers/usb/host/xhci-dbgtty.c
parentxhci: dbc: Add a operations structure to access driver functions (diff)
downloadwireguard-linux-688915b11aa7f8b92d12a2e4672d71e3626a0e6a.tar.xz
wireguard-linux-688915b11aa7f8b92d12a2e4672d71e3626a0e6a.zip
xhci: dbgcap: remove dbc dependency on dbctty specific flag
dbc should not be aware of, or use any dbctty specific variables. currenly dbc driver reads the port->registered flag to see if the callbacks should be called. Only makes these decisions based on dbc internal state instead. Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com> Link: https://lore.kernel.org/r/20200723144530.9992-27-mathias.nyman@linux.intel.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/host/xhci-dbgtty.c')
-rw-r--r--drivers/usb/host/xhci-dbgtty.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/usb/host/xhci-dbgtty.c b/drivers/usb/host/xhci-dbgtty.c
index 3231cec74a7a..3b306a22da47 100644
--- a/drivers/usb/host/xhci-dbgtty.c
+++ b/drivers/usb/host/xhci-dbgtty.c
@@ -399,6 +399,9 @@ int xhci_dbc_tty_register_device(struct xhci_dbc *dbc)
struct device *tty_dev;
struct dbc_port *port = &dbc->port;
+ if (port->registered)
+ return -EBUSY;
+
xhci_dbc_tty_init_port(dbc, port);
tty_dev = tty_port_register_device(&port->port,
dbc_tty_driver, 0, NULL);
@@ -445,6 +448,8 @@ void xhci_dbc_tty_unregister_device(struct xhci_dbc *dbc)
{
struct dbc_port *port = &dbc->port;
+ if (!port->registered)
+ return;
tty_unregister_device(dbc_tty_driver, 0);
xhci_dbc_tty_exit_port(port);
port->registered = false;