Subject: [PATCH] dmaengine: qcom_hidma: release the descriptor before the callback

From: [email-masked] (Sinan Kaya)
Date: Wed, 10 Aug 2016 13:31:21 -0400

On 8/10/2016 1:28 PM, Vinod Koul wrote:
>> That's why, I preferred not to call the callback when I observe an error which I
>> > think it makes more sense. 
> That doesnt make sense. A client set a callback, it expect you to call one.
> The result quried maybe txn completed or error. Since you have means, please
> report..
> 

If there is a good way to fix tx_status, I can certainly do so. I just need to make
sure my implementation is robust and reliable.

I saw your reply that we need to keep this information around until terminate_all is
called. 

What is a good implementation strategy?

Keep a size limited list with error cookies and flush them in terminate all?

What should I do if code reaches to the size limit?

Size the error cookie list double the size of available descriptors?

>> Again, it will be a different patch than this one. I think v2 of this patch
>> > needs to go in as it is.
>> > 
>> > https://lkml.org/lkml/2016/7/31/64
> I havent looked at the patch. If it is not invoking callback set by user,
> then I am not taking it. Sorry, we dont choose over client's wish.

Ok. The problem you are referring to is something else and needs to be addressed
separately. I can create a series with first implement a reliable tx_status based
on your recommendation above.

Then, change the current behavior so that client callback is always executed as you
requested.

After that this patch to fix the free order.

-- 
Sinan Kaya
Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.