try harder to load tty ldisc driver
authorEugeniy Meshcheryakov <eugen@debian.org>
Thu, 31 Jul 2008 09:03:19 +0000 (10:03 +0100)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 1 Aug 2008 19:50:15 +0000 (12:50 -0700)
commit3ab36ab68531ad90648fdeedcaf437f121572ede
tree9a61fb71173caff9fdf29a9d3f3626d5c0fa26ef
parent84ff7a001270258f71d6ab0d164f351e32c9718a
try harder to load tty ldisc driver

Currently function tty_ldisc_get() tries to load an ldisc driver module
only when tty_ldisc_try_get() returns -EAGAIN. This happens only if
module is being unloaded. If ldisc module is not loaded
tty_ldisc_try_get() returns -EINVAL and this case is not handled in
tty_ldisc_get(), so request_module() is not called.

Attached patch fixes this by calling request_module() if
tty_ldisc_try_get() returned any error code.

I discovered this when my UMTS modem stopped working with 2.6.27-rc1
because module ppp_async was not loaded.

Signed-off-by: Eugeniy Meshcheryakov <eugen@debian.org>
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/char/tty_ldisc.c