From: stevenm86@gmail.com (Steve M)
To: linux-arm-kernel@lists.infradead.org
Subject: 21285 serial driver deadlock(?) fix
Date: Tue, 12 Jan 2010 20:12:36 +0300 [thread overview]
Message-ID: <20dd1d411001120912v3d8ec07aofa28282ff10accd8@mail.gmail.com> (raw)
In-Reply-To: <20100111105724.6a9f799c@marrow.netinsight.se>
I was worried about the regular UART ops wanting a synced version, so I made
a nonsynced version specifically to be called from the interrupt handler. I
am attaching that patch for reference.
On Mon, Jan 11, 2010 at 12:57 PM, Simon Kagstrom <
simon.kagstrom@netinsight.net> wrote:
> (Added the list to To: as well)
>
> On Tue, 5 Jan 2010 21:37:42 +0300
> Steve M <stevenm86@gmail.com> wrote:
>
> > I know little of the serial layer, but I am not certain that it is a good
> > idea to put _nosync directly into the stop_tx function, since this is a
> > function whose pointer is given out to the upper layer. We may only want
> the
> > nosync behavior from within the ISR, but waiting for the ISR to complete
> in
> > other cases may be more appropriate.
>
> Well, I think serial21285_stop_tx also needs _nosync since it too is
> called from an interrupt handler:
>
> static irqreturn_t serial21285_tx_chars(int irq, void *dev_id)
> {
> [...]
> if (uart_circ_empty(xmit))
> serial21285_stop_tx(port);
> }
>
> Of course, we could make an unsynced version of the stop_tx/stop_rx
> which is called from the local interrupt handlers, and a synchronous
> one which gets called from the structure.
>
>
> I don't know if the function pointers in uart_ops would run into some
> problem with the _nosync versions? I haven't seen any problems during
> my tests here with them at least.
>
> // Simon
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20100112/c904b24d/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: footbridge-serial-deadlock.patch
Type: application/octet-stream
Size: 776 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20100112/c904b24d/attachment.obj>
next prev parent reply other threads:[~2010-01-12 17:12 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-12-28 22:27 21285 serial driver deadlock(?) fix Steve Moskovchenko
2010-01-01 20:29 ` Russell King - ARM Linux
2010-01-04 8:11 ` Simon Kagstrom
[not found] ` <20dd1d411001051037o74fb1187j608889fae0271547@mail.gmail.com>
2010-01-11 9:57 ` Simon Kagstrom
2010-01-12 17:12 ` Steve M [this message]
2010-01-13 8:17 ` Simon Kagstrom
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20dd1d411001120912v3d8ec07aofa28282ff10accd8@mail.gmail.com \
--to=stevenm86@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).