Messages in this thread | | | Date | Tue, 4 Jan 2022 14:41:00 -0700 | Subject | Re: linux-next: manual merge of the dmaengine tree with the dmaengine-fixes tree | From | Dave Jiang <> |
| |
On 12/28/2021 2:09 AM, Geert Uytterhoeven wrote: > On Wed, Dec 15, 2021 at 10:53 AM <broonie@kernel.org> 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@linux-m68k.org > > 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
| |