Re: linux-next: manual merge of the dmaengine tree with the dmaengine-fixes tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> On Dec 28, 2021, at 2:09 AM, Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> 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?

Yes that’s correct. Thanks. 
> 
>> +      }
>>  }
> 
> 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




[Index of Archives]     [Linux Kernel]     [Linux USB Development]     [Yosemite News]     [Linux SCSI]

  Powered by Linux