On 4/4/23 18:47, Shunsuke Mie wrote: >> @@ -120,7 +129,6 @@ static int pci_epf_test_data_transfer(struct pci_epf_test *epf_test, >> struct dma_async_tx_descriptor *tx; >> struct dma_slave_config sconf = {}; >> struct device *dev = &epf->dev; >> - dma_cookie_t cookie; >> int ret; >> >> if (IS_ERR_OR_NULL(chan)) { >> @@ -152,25 +160,33 @@ static int pci_epf_test_data_transfer(struct pci_epf_test *epf_test, >> } >> >> reinit_completion(&epf_test->transfer_complete); >> + epf_test->transfer_chan = chan; >> tx->callback = pci_epf_test_dma_callback; >> tx->callback_param = epf_test; >> - cookie = tx->tx_submit(tx); >> + epf_test->transfer_cookie = tx->tx_submit(tx); > > How about changing the code to use dmaengine_submit() API instead of > calling a raw function pointer? This is done in patch 5 of the series.