Hi,

here's a copy of a message I sent to the general linux kernel mailing list.
As this happens with a StrongARM (though I don't believe it's StrongARM
specific), maybe someone on this mailing list may have an insight as
to why the serial driver runs with irqs off.

Thanks,

        - Godmar

Forwarded message:
> From gback Wed Jul 14 10:56:07 1999
> From: Godmar Back <gback>
> Message-Id: <[EMAIL PROTECTED]>
> Subject: serial driver irq takes too long
> To: [EMAIL PROTECTED]
> Date: Wed, 14 Jul 1999 10:56:07 -0700 (PDT)
> Cc: gback
> X-Mailer: ELM [version 2.4 PL24]
> Content-Type: text
> 
> 
>  Hi,
> 
> I have a question/problem with the serial driver.
> 
> This is with a 2.0.30 kernel, but a quick look at 2.2.5 tells 
> me that this version would most likely exhibit the same problem.
> 
> The problem I'm seeing is that the serial driver takes too long to 
> handle a receive interrupt because it runs while interrupts are disabled.
> 
> As a result, other, higher-prioritized interrupts cannot be handled in time.
> This has bad effects on the systems in that it causes my sound driver
> to not refill its codec's fifo in run, which in turn results in underruns
> and interruptions of the audio play.
> 
> My questions:
> 
> + why does the serial driver run with interrupts disabled for so long?
> + has anybody seen that problem?
> + how could one fix it?
> 
> Here's what I tried.  I added a pair of       sti(); cli(); in the
> receive_chars() do { } while() loop right before the serial_inp().
> Like so:
> 
> receive_chars()
> {
>       do {
>               sti();
>               cli();
>               ... serial_inp()
>               ...
>       } while ( ... )
> }
> 
> This appears to more or less work for a single serial port, but is it safe
> (methinks it's not, especially if there's more than one serial port on the
> machine.)  That's on a 200MHz StrongARM, btw.
> 
> 
> Thanks,
> 
>       - Godmar
> 
> ps: it would be nice to cc me if someone replied to this.
> 

unsubscribe: body of `unsubscribe linux-arm' to [EMAIL PROTECTED]

Reply via email to