[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080130164631.7de4f6bd@dhcp-252-066.norway.atmel.com>
Date: Wed, 30 Jan 2008 16:46:31 +0100
From: Haavard Skinnemoen <hskinnemoen@...el.com>
To: michael <trimarchi@...dalf.sssup.it>
Cc: Remy Bohmer <linux@...mer.net>, fabio@...dalf.sssup.it,
Andrew Victor <linux@...im.org.za>,
Chip Coldwell <coldwell@...hat.com>,
Marc Pignat <marc.pignat@...s.ch>,
David Brownell <david-b@...bell.net>,
linux-kernel@...r.kernel.org, Alan Cox <alan@...rguk.ukuu.org.uk>
Subject: Re: [PATCH -mm v4 6/9] atmel_serial: Split the interrupt handler
On Wed, 30 Jan 2008 16:26:27 +0100
michael <trimarchi@...dalf.sssup.it> wrote:
> > I have no idea. Could you post some more specifics about what you
> > modified, for example a diff?
> >
> >
>
> ...
> /* The interrupt handler does not take the lock */
> spin_lock_irqsave(&port->lock, flags);
> atmel_tx_chars(port);
> spin_unlock_irqrestore(&port->lock, flags);
Sorry, this isn't going to work.
Please post a diff with the changes you did to the driver, and whatever
output you got when it crashed.
It's really difficult to help you when I don't know (a) what code
you're actually running, or (b) anything about the crash.
> The atmel_tx_chars using the serial device registers like the interrupt
> routine
> and so I think that it is possible to have interference during send
> operation.
No, it's only called from the tasklet, and the interrupt handler doesn't
touch the TX data register. There shouldn't be any need to disable
interrupts around the call to atmel_tx_chars(). In fact, this may very
well be the cause of the overruns you're seeing.
Haavard
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists