* Q serial.c
@ 2001-06-22 6:49 kees
2001-06-22 13:51 ` Stuart MacDonald
0 siblings, 1 reply; 4+ messages in thread
From: kees @ 2001-06-22 6:49 UTC (permalink / raw)
To: linux-kernel
Hi
What may happen on a SMP machine if a serial port has been closed and the
closing stage is at shutdown() in serial.c in the call to free_IRQ and
BEFORE the IRQ is really shutdown, a new character arrives which causes an
IRQ? Is it possible that the OTHER cpu takes this interrupt and causes a
crash?
Kees
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Q serial.c
2001-06-22 6:49 Q serial.c kees
@ 2001-06-22 13:51 ` Stuart MacDonald
2001-06-22 15:23 ` Jonathan Lundell
0 siblings, 1 reply; 4+ messages in thread
From: Stuart MacDonald @ 2001-06-22 13:51 UTC (permalink / raw)
To: kees, linux-kernel
From: "kees" <kees@schoen.nl>
> What may happen on a SMP machine if a serial port has been closed and the
> closing stage is at shutdown() in serial.c in the call to free_IRQ and
> BEFORE the IRQ is really shutdown, a new character arrives which causes an
> IRQ? Is it possible that the OTHER cpu takes this interrupt and causes a
> crash?
I'm looking at serial-5.05/serial.c. You'll notice at the
beginning of shutdown the saveflags(); cli(); calls.
This disables interrupts. The uart will not be able to
generate IRQs even if new characters arrive.
..Stu
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Q serial.c
2001-06-22 13:51 ` Stuart MacDonald
@ 2001-06-22 15:23 ` Jonathan Lundell
2001-06-22 15:32 ` Stuart MacDonald
0 siblings, 1 reply; 4+ messages in thread
From: Jonathan Lundell @ 2001-06-22 15:23 UTC (permalink / raw)
To: Stuart MacDonald, kees, linux-kernel
At 9:51 AM -0400 2001-06-22, Stuart MacDonald wrote:
>From: "kees" <kees@schoen.nl>
>> What may happen on a SMP machine if a serial port has been closed and the
>> closing stage is at shutdown() in serial.c in the call to free_IRQ and
>> BEFORE the IRQ is really shutdown, a new character arrives which causes an
>> IRQ? Is it possible that the OTHER cpu takes this interrupt and causes a
>> crash?
>
>I'm looking at serial-5.05/serial.c. You'll notice at the
>beginning of shutdown the saveflags(); cli(); calls.
>This disables interrupts. The uart will not be able to
>generate IRQs even if new characters arrive.
The other CPU servicing the interrupt, was the question. cli()
doesn't affect that. This could presumably happen if shutdown() gets
run on a non-interrupt-servicing CPU, or if interrupts are
dynamically routed (eg round-robin).
Where can I find the 5.05 driver?
--
/Jonathan Lundell.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Q serial.c
2001-06-22 15:23 ` Jonathan Lundell
@ 2001-06-22 15:32 ` Stuart MacDonald
0 siblings, 0 replies; 4+ messages in thread
From: Stuart MacDonald @ 2001-06-22 15:32 UTC (permalink / raw)
To: kees, linux-kernel, Jonathan Lundell, tytso
From: "Jonathan Lundell" <jlundell@pobox.com>
> The other CPU servicing the interrupt, was the question. cli()
> doesn't affect that. This could presumably happen if shutdown() gets
> run on a non-interrupt-servicing CPU, or if interrupts are
> dynamically routed (eg round-robin).
Ah. Missed that.
Hm. Does appear to be a problem. Ted?
> Where can I find the 5.05 driver?
http://serial.sourceforge.net I'm not sure which version is currently
in 2.4.latest, but it should be nearly 5.05.
..Stu
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2001-06-22 15:29 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-06-22 6:49 Q serial.c kees
2001-06-22 13:51 ` Stuart MacDonald
2001-06-22 15:23 ` Jonathan Lundell
2001-06-22 15:32 ` Stuart MacDonald
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox