From: vinod.koul@intel.com (Vinod Koul)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 1/5] dmaengine: add ep93xx DMA support
Date: Wed, 23 Nov 2011 16:17:49 +0530 [thread overview]
Message-ID: <1322045269.1516.247.camel@vkoul-udesk3> (raw)
In-Reply-To: <20111122055925.GA15889@mwesterb-mobl.ger.corp.intel.com>
On Tue, 2011-11-22 at 07:59 +0200, Mika Westerberg wrote:
> On Mon, Nov 21, 2011 at 02:02:06PM +0530, Vinod Koul wrote:
> > On Mon, 2011-11-21 at 10:01 +0200, Mika Westerberg wrote:
> > > On Mon, Nov 21, 2011 at 08:44:07AM +0100, Rafal Prylowski wrote:
> > > >
> > > > I'm calling dma_terminate_all from interrupt. It seems that tasklet_kill is not
> > > > allowed to be called from this context.
> > >
> > > Ah, right.
> > >
> > > One more try - this time we set a flag which prevents the tasktlet from
> > > referencing an empty list.
>
> > Rather than this why not actually check for list_empty and process only
> > when it is not empty?
>
> I was thinking that it should be an error if the active list is empty when the
> tasklet is run.
well where would you return the error from tasklet?
>
> > Also you should check the return of the ep93xx_dma_get_active() which
> > should return NULL if it didn't find anything in active list
>
> Right - if the list is allowed to be empty.
>
> I'll re-check the patch from Rafal. Maybe it's better to adapt with the fact
> that dma_terminate_all() can be called in any context any time and modify the
> driver accordingly (e.g like you say, return NULL if the list is empty handle
> it correctly).
Yes dma_terminate_all() is allowed to be called by the driver in any
context. It may wish to terminate at any point and this can potentially
lead to race condition when you do actual hardware right to terminate
just when hardware sent the interrupt. And your tasklet is scheduled
after the list becomes empty.
So its better approach to check for list in tasklet and return of
ep93xx_dma_get_active() for a valid descriptor
--
~Vinod
next prev parent reply other threads:[~2011-11-23 10:47 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-29 10:10 [PATCH v2 0/5] ep93xx DMA patches Mika Westerberg
2011-05-29 10:10 ` [PATCH v2 1/5] dmaengine: add ep93xx DMA support Mika Westerberg
2011-11-15 15:02 ` Rafal Prylowski
2011-11-15 17:59 ` H Hartley Sweeten
2011-11-16 6:48 ` Mika Westerberg
2011-11-16 9:00 ` Rafal Prylowski
2011-11-16 6:55 ` Mika Westerberg
2011-11-16 8:31 ` Rafal Prylowski
2011-11-19 12:38 ` Mika Westerberg
2011-11-21 7:44 ` Rafal Prylowski
2011-11-21 8:01 ` Mika Westerberg
2011-11-21 8:32 ` Vinod Koul
2011-11-22 5:59 ` Mika Westerberg
2011-11-23 10:47 ` Vinod Koul [this message]
2011-11-21 8:54 ` Rafal Prylowski
2011-11-22 6:47 ` Mika Westerberg
2011-11-22 8:45 ` Rafal Prylowski
2011-05-29 10:10 ` [PATCH v2 2/5] ep93xx: add dmaengine platform code Mika Westerberg
2011-05-29 10:10 ` [PATCH v2 3/5] ASoC: ep93xx: convert to use the DMA engine API Mika Westerberg
2011-05-29 10:10 ` [PATCH v2 4/5] ep93xx: remove the old M2P DMA code Mika Westerberg
2011-05-29 10:10 ` [PATCH v2 5/5] spi/ep93xx: add DMA support Mika Westerberg
2011-06-03 20:44 ` Grant Likely
2011-06-07 17:14 ` Mika Westerberg
2011-06-07 18:45 ` Grant Likely
2011-06-07 19:06 ` Mika Westerberg
2011-06-07 19:18 ` Grant Likely
2011-06-07 19:29 ` Mika Westerberg
2011-06-07 19:40 ` Grant Likely
2011-06-08 3:58 ` Koul, Vinod
2011-06-08 21:53 ` Grant Likely
2011-06-09 16:42 ` Koul, Vinod
2011-06-09 18:46 ` Grant Likely
2011-06-09 19:15 ` Mika Westerberg
2011-06-05 8:19 ` [PATCH v2 0/5] ep93xx DMA patches Mika Westerberg
2011-06-06 6:39 ` Koul, Vinod
2011-06-06 16:42 ` Mika Westerberg
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=1322045269.1516.247.camel@vkoul-udesk3 \
--to=vinod.koul@intel.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