2008-07-23 18:11:17

by Alexey Zaytsev

[permalink] [raw]
Subject: commit a352def21a642133758b868c71bee12ab34ad5c5 broke pptp.

Hello.


Pptp brakes for me on the current git (c010b2f76):

root@nx:~# pppd call semunlim defaultroute nodetach debug
Couldn't set tty to PPP discipline: Invalid argument
Waiting for 1 child processes...
script pptp 172.18.2.2 --nolaunchpppd, pid 4359
root@nx:~#

It bisects to:
a352def21a642133758b868c71bee12ab34ad5c5 tty: Ldisc revamp

Revetring this commit, along with
7a4d29f426f17479395980ded8fa5e3bdd6d94e4
and 01e1abb2c27e43339b8829a2e3b1c6f53806b77a fixes the problem.


2008-07-28 10:50:29

by Alexey Zaytsev

[permalink] [raw]
Subject: Re: commit a352def21a642133758b868c71bee12ab34ad5c5 broke pptp.

On Wed, Jul 23, 2008 at 10:11 PM, Alexey Zaytsev
<[email protected]> wrote:
> Hello.
>
>
> Pptp breaks for me on the current git (c010b2f76):
>
> root@nx:~# pppd call semunlim defaultroute nodetach debug
> Couldn't set tty to PPP discipline: Invalid argument
> Waiting for 1 child processes...
> script pptp 172.18.2.2 --nolaunchpppd, pid 4359
> root@nx:~#
>
> It bisects to:
> a352def21a642133758b868c71bee12ab34ad5c5 tty: Ldisc revamp
>
> Revetring this commit, along with
> 7a4d29f426f17479395980ded8fa5e3bdd6d94e4
> and 01e1abb2c27e43339b8829a2e3b1c6f53806b77a fixes the problem.
>

Still there (c9272c4f). Could you maybe revert this for the -rc1? If not the
problem, this would probably be the first -rc1 ever that actually
works for me. ;)

2008-07-30 20:11:45

by Alexey Zaytsev

[permalink] [raw]
Subject: Re: commit a352def21a642133758b868c71bee12ab34ad5c5 broke pptp.

On Mon, Jul 28, 2008 at 2:50 PM, Alexey Zaytsev
<[email protected]> wrote:
> On Wed, Jul 23, 2008 at 10:11 PM, Alexey Zaytsev
> <[email protected]> wrote:
>> Hello.
>>
>>
>> Pptp breaks for me on the current git (c010b2f76):
>>
>> root@nx:~# pppd call semunlim defaultroute nodetach debug
>> Couldn't set tty to PPP discipline: Invalid argument
>> Waiting for 1 child processes...
>> script pptp 172.18.2.2 --nolaunchpppd, pid 4359
>> root@nx:~#
>>
>> It bisects to:
>> a352def21a642133758b868c71bee12ab34ad5c5 tty: Ldisc revamp
>>
>> Revetring this commit, along with
>> 7a4d29f426f17479395980ded8fa5e3bdd6d94e4
>> and 01e1abb2c27e43339b8829a2e3b1c6f53806b77a fixes the problem.
>>
>
> Still there (c9272c4f). Could you maybe revert this for the -rc1? If not the
> problem, this would probably be the first -rc1 ever that actually
> works for me. ;)
>

Hai, I fixd ur kernel.
The problem was with the screwd up ldisc modules autoloading.
Pls apply the patch. Kthx bai.


Fix ldisc module autoloading.

Signed-off-by: Alexey Zaytsev <[email protected]>

diff --git a/drivers/char/tty_ldisc.c b/drivers/char/tty_ldisc.c
index 241cbde..a858893 100644
--- a/drivers/char/tty_ldisc.c
+++ b/drivers/char/tty_ldisc.c
@@ -164,14 +164,16 @@ static int tty_ldisc_try_get(int disc, struct
tty_ldisc *ld)

static int tty_ldisc_get(int disc, struct tty_ldisc *ld)
{
- int err;
+ int err = 0;

if (disc < N_TTY || disc >= NR_LDISCS)
return -EINVAL;
- err = tty_ldisc_try_get(disc, ld);
- if (err == -EAGAIN) {
- request_module("tty-ldisc-%d", disc);
- err = tty_ldisc_try_get(disc, ld);
+ tty_ldisc_try_get(disc, ld);
+ if (!ld->ops) {
+ do {
+ request_module("tty-ldisc-%d", disc);
+ err = tty_ldisc_try_get(disc, ld);
+ } while (err == -EAGAIN);
}
return err;
}

2008-07-30 23:07:29

by Alan

[permalink] [raw]
Subject: Re: commit a352def21a642133758b868c71bee12ab34ad5c5 broke pptp.

> Fix ldisc module autoloading.
>
> Signed-off-by: Alexey Zaytsev <[email protected]>

Yep - I broke it and the patch to fix it will go in the tty fixes push
tomorrow. Your change is overcomplex. It's sufficient if it fails just to
retry once for any error.

Alan