diff options
author | Johan Hovold <johan@kernel.org> | 2015-02-16 13:17:33 +0700 |
---|---|---|
committer | Johan Hovold <johan@kernel.org> | 2015-02-26 17:06:39 +0100 |
commit | 5ee0089b1f7057d8f783db37b2a8116cd114f6e5 (patch) | |
tree | b5616499da8fb19ed5e81c4cf3a73e0696dda600 /drivers/usb | |
parent | f6950344d3cf4a1e231b5828b50c4ac168db3886 (diff) |
USB: console: add dummy __module_get
Add call to __module_get when initialising the fake tty in
usb_console_setup to match the module_put in release_one_tty.
Note that the tty-driver (i.e. usb-serial core) must be compiled-in to
enable the usb console so the __module_get is essentially a noop as
driver->owner will be null.
Reported-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Johan Hovold <johan@kernel.org>
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/serial/console.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/usb/serial/console.c b/drivers/usb/serial/console.c index 29fa1c3d0089..3806e7014199 100644 --- a/drivers/usb/serial/console.c +++ b/drivers/usb/serial/console.c @@ -14,6 +14,7 @@ #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt #include <linux/kernel.h> +#include <linux/module.h> #include <linux/slab.h> #include <linux/tty.h> #include <linux/console.h> @@ -144,6 +145,7 @@ static int usb_console_setup(struct console *co, char *options) init_ldsem(&tty->ldisc_sem); INIT_LIST_HEAD(&tty->tty_files); kref_get(&tty->driver->kref); + __module_get(tty->driver->owner); tty->ops = &usb_console_fake_tty_ops; if (tty_init_termios(tty)) { retval = -ENOMEM; |