console=ttyS1 breaks ttyS1 termios and prevents me from logging in

From: Andy Lutomirski
Date: Wed Apr 08 2015 - 17:18:03 EST


Something strange seems to have happened to my serial console setup.
I boot with console=ttyS1,115200n8 and I have a getty running on
/dev/ttyS1.

On older kernels, or if I remove the console= boot parameter, then my
getty works fine. On 3.19.3 with the console= parameter, something's
wrong with termios and I can't log in. Running:

# stty icanon </dev/ttyS1

breaks line this (partial strace results included):

ioctl(0, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or
TCGETS, {B115200 opost -isig -icanon -echo ...}) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or
TCGETS, {B115200 opost -isig -icanon -echo ...}) = 0
ioctl(0, SNDCTL_TMR_STOP or SNDRV_TIMER_IOCTL_GINFO or TCSETSW,
{B115200 opost -isig icanon -echo ...}) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or
TCGETS, {B115200 opost -isig -icanon -echo ...}) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or
TCGETS, {B115200 opost -isig -icanon -echo ...}) = 0
write(2, "stty: ", 6stty: ) = 6
write(2, "standard input: unable to perfor"..., 58standard input:
unable to perform all requested operations) = 58

IOW, the setting didn't stick. On the bad kernel, stty works just
fine on ttyS0. If I switch to using console=ttyS0,115200, then stty
works on ttyS1 and fails on ttyS0.

I have no idea what's going on here. I have two apparently identical
boxes. One of them has this problem and the other doesn't.

Thanks,
Andy
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/