lkml.org 
[lkml]   [2009]   [Jan]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[patch 41/43] dmaengine: fix dependency chaining
2.6.28-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Yuri Tikhonov <yur@emcraft.com>

commit dd59b8537f6cb53ab863fafad86a5828f1e889a2 upstream


ASYNC_TX: fix dependency chaining

In ASYNC_TX we track the dependencies between the descriptors
using the 'next' pointers of the structures. These pointers are
set to NULL as soon as the corresponding descriptor has been
submitted to the channel (in async_tx_run_dependencies()).
But, the first 'next' in chain still remains set, regardless
the fact, that tx->next is already submitted. This may lead to
multiple submisions of the same descriptor. This patch fixes this.

Signed-off-by: Yuri Tikhonov <yur@emcraft.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
crypto/async_tx/async_tx.c | 2 ++
1 file changed, 2 insertions(+)

--- a/crypto/async_tx/async_tx.c
+++ b/crypto/async_tx/async_tx.c
@@ -124,6 +124,8 @@ void async_tx_run_dependencies(struct dm
if (!dep)
return;

+ /* we'll submit tx->next now, so clear the link */
+ tx->next = NULL;
chan = dep->chan;

/* keep submitting up until a channel switch is detected


\
 
 \ /
  Last update: 2009-01-31 04:17    [W:0.148 / U:8.320 seconds]
©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site