On 12/28/2021 2:09 AM, Geert Uytterhoeven wrote:
On Wed, Dec 15, 2021 at 10:53 AM <broonie@xxxxxxxxxx> wrote:
Today's linux-next merge of the dmaengine tree got a conflict in:
drivers/dma/idxd/submit.c
between commit:
8affd8a4b5ce3 ("dmaengine: idxd: fix missed completion on abort path")
from the dmaengine-fixes tree and commit:
5d78abb6fbc97 ("dmaengine: idxd: rework descriptor free path on failure")
from the dmaengine tree.
I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging. You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.
diff --cc drivers/dma/idxd/submit.c
index 83452fbbb168b,569815a84e95b..0000000000000
--- a/drivers/dma/idxd/submit.c
+++ b/drivers/dma/idxd/submit.c
@@@ -134,20 -120,32 +125,43 @@@ static void llist_abort_desc(struct idx
spin_unlock(&ie->list_lock);
if (found)
- complete_desc(found, IDXD_COMPLETE_ABORT);
+ idxd_dma_complete_txd(found, IDXD_COMPLETE_ABORT, false);
+
+ /*
- * complete_desc() will return desc to allocator and the desc can be
- * acquired by a different process and the desc->list can be modified.
- * Delete desc from list so the list trasversing does not get corrupted
- * by the other process.
++ * completing the descriptor will return desc to allocator and
++ * the desc can be acquired by a different process and the
++ * desc->list can be modified. Delete desc from list so the
++ * list trasversing does not get corrupted by the other process.
traversing
+ */
+ list_for_each_entry_safe(d, t, &flist, list) {
+ list_del_init(&d->list);
- complete_desc(d, IDXD_COMPLETE_NORMAL);
++ idxd_dma_complete_txd(d, IDXD_COMPLETE_NORMAL, false);
Is "false" correct here?
Hi Geert, took a closer look today. I believe it should be 'true' here
since this is a normal completion that needs to release the descriptors.
Sorry about the previous incorrect response.
+ }
}
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds