Re: [PATCH] ASYNC_TX: fix the bug in async_tx_run_dependencies

From: Andrew Morton
Date: Thu Sep 04 2008 - 17:20:45 EST


On Thu, 4 Sep 2008 01:43:51 +0400
Ilya Yanok <yanok@xxxxxxxxxxx> wrote:

> From: Yuri Tikhonov <yur@xxxxxxxxxxx>
>
> Should clear the next pointer of the TX if we are sure that the
> next TX (say NXT) will be submitted to the channel too. Overwise,
> we break the chain of descriptors, because we lose the information
> about the next descriptor to run. So next time, when invoke
> async_tx_run_dependencies() with TX, it's TX->next will be NULL, and
> NXT will be never submitted.
>
> Signed-off-by: Yuri Tikhonov <yur@xxxxxxxxxxx>

This patch should include your signed-off-by: as well. Because you
were on the delivery path, as described in
Documentation/SubmittingPatches, section 12.

>
> diff --git a/crypto/async_tx/async_tx.c b/crypto/async_tx/async_tx.c
> index 85eaf7b..e8362c1 100644
> --- a/crypto/async_tx/async_tx.c
> +++ b/crypto/async_tx/async_tx.c
> @@ -137,7 +137,8 @@ async_tx_run_dependencies(struct dma_async_tx_descriptor *tx)
> spin_lock_bh(&next->lock);
> next->parent = NULL;
> _next = next->next;
> - next->next = NULL;
> + if (_next && _next->chan == chan)
> + next->next = NULL;
> spin_unlock_bh(&next->lock);
>
> next->tx_submit(next);

Dan, please review asap?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/