Skip to contentSkip to conversation

serial ioctl not returning with 2.4.3

BUG Steven Walter 3 participants 5 messages Apr 11, 2001 – Apr 12, 2001

lore
Share & tools
lore
#0 lore raw

When I try to start "agetty" on my serial line, agetty hangs in an ioctl; according to strace, this ioctl is "SNDCTL_TMR_STOP". This doesn't sound right, but that ioctl is defined as _IO('T', 3) if that makes any more sense.

The reason that this must be a kernel bug is because agetty works flawlessly in an identically-configured 2.4.2 kernel, and even a 2.4.3 kernel with the debugging tokens defined. I'd be glad to give any help that I could.

Signature · 3 lines
-Steven
In a time of universal deceit, telling the truth is a revolutionary act.
			-- George Orwell
#1 lore raw
Quoted 10 lines · Steven Walter

When I try to start "agetty" on my serial line, agetty hangs in an ioctl; according to strace, this ioctl is "SNDCTL_TMR_STOP". This doesn't sound right, but that ioctl is defined as _IO('T', 3) if that makes any more sense.

The reason that this must be a kernel bug is because agetty works flawlessly in an identically-configured 2.4.2 kernel, and even a 2.4.3 kernel with the debugging tokens defined. I'd be glad to give any help that I could.

I am not sure this is a serial driver bug:

[jgarzik@rum linux_2_4]$ find . -name '*.[ch]'|xargs grep -wn SNDCTL_TMR_STOP ./arch/sparc64/kernel/ioctl32.c:3503:COMPATIBLE_IOCTL(SNDCTL_TMR_STOP)
./drivers/sound/mpu401.c:1522: case SNDCTL_TMR_STOP:
./drivers/sound/sequencer.c:1352: case SNDCTL_TMR_STOP:
./drivers/sound/sound_timer.c:195: case SNDCTL_TMR_STOP:
./drivers/sound/sys_timer.c:206: case SNDCTL_TMR_STOP:
./include/linux/soundcard.h:165:#define SNDCTL_TMR_STOP _SIO ('T', 3)

Signature · 3 lines
Jeff Garzik       | Sam: "Mind if I drive?"
Building 1024     | Max: "Not if you don't mind me clawing at the dash
MandrakeSoft      |       and shrieking like a cheerleader."
#2 lore raw
In reply to Steven Walter
Quoted 1 line · Jeff Garzik

I am not sure this is a serial driver bug:

Some ioctls are reused ;(

#define TCSETSW 0x5403

Its really a TCSETSW ioctl.

Quoted 19 lines

[jgarzik@rum linux_2_4]$ find . -name '*.[ch]'|xargs grep -wn SNDCTL_TMR_STOP ./arch/sparc64/kernel/ioctl32.c:3503:COMPATIBLE_IOCTL(SNDCTL_TMR_STOP)
./drivers/sound/mpu401.c:1522: case SNDCTL_TMR_STOP:
./drivers/sound/sequencer.c:1352: case SNDCTL_TMR_STOP:
./drivers/sound/sound_timer.c:195: case SNDCTL_TMR_STOP:
./drivers/sound/sys_timer.c:206: case SNDCTL_TMR_STOP:
./include/linux/soundcard.h:165:#define SNDCTL_TMR_STOP _SIO ('T', 3)

Signature · 8 lines
Jeff Garzik       | Sam: "Mind if I drive?"
Building 1024     | Max: "Not if you don't mind me clawing at the dash
MandrakeSoft      |       and shrieking like a cheerleader."
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/
Signature · 3 lines
--
Russell King ([email protected])                The developer of ARM Linux
             http://www.arm.linux.org.uk/personal/aboutme.html
#3 lore raw
In reply to Steven Walter
Quoted 14 lines · Jeff Garzik
Quoted 10 lines · Steven Walter

When I try to start "agetty" on my serial line, agetty hangs in an ioctl; according to strace, this ioctl is "SNDCTL_TMR_STOP". This doesn't sound right, but that ioctl is defined as _IO('T', 3) if that makes any more sense.

The reason that this must be a kernel bug is because agetty works flawlessly in an identically-configured 2.4.2 kernel, and even a 2.4.3 kernel with the debugging tokens defined. I'd be glad to give any help that I could.

I am not sure this is a serial driver bug:

Quoted 9 lines

[jgarzik@rum linux_2_4]$ find . -name '*.[ch]'|xargs grep -wn SNDCTL_TMR_STOP ./arch/sparc64/kernel/ioctl32.c:3503:COMPATIBLE_IOCTL(SNDCTL_TMR_STOP)
./drivers/sound/mpu401.c:1522: case SNDCTL_TMR_STOP:
./drivers/sound/sequencer.c:1352: case SNDCTL_TMR_STOP:
./drivers/sound/sound_timer.c:195: case SNDCTL_TMR_STOP:
./drivers/sound/sys_timer.c:206: case SNDCTL_TMR_STOP:
./include/linux/soundcard.h:165:#define SNDCTL_TMR_STOP _SIO ('T', 3)

It would appear that way, if not for something I neglected to mention in my first message--the ioctl is on the fd for the opened serial port. This succeeds in other version of the kernel (as described in my original posting) and so must somehow be valid for the serial driver.

Any more thoughts? This would seem to be a definite bug in the serial code.

Signature · 3 lines
-Steven
In a time of universal deceit, telling the truth is a revolutionary act.
			-- George Orwell
#4 lore raw
In reply to Steven Walter
Quoted 7 lines · Steven Walter

It would appear that way, if not for something I neglected to mention in my first message--the ioctl is on the fd for the opened serial port. This succeeds in other version of the kernel (as described in my original posting) and so must somehow be valid for the serial driver.

Any more thoughts? This would seem to be a definite bug in the serial code.

I've got an old copy of agetty here (about '95) which I'll try on 2.4.

--
Russell King ([email protected]) The developer of ARM Linux
http://www.arm.linux.org.uk/personal/aboutme.html