Thread (17 messages) 17 messages, 7 authors, 2015-08-31

[PATCH v4 2/2] dma: Add Xilinx zynqmp dma engine driver support

From: punnaiah choudary kalluri <hidden>
Date: 2015-08-23 14:54:19
Also in: linux-devicetree, lkml

On Sun, Aug 23, 2015 at 7:38 PM, Vinod Koul [off-list ref] wrote:
On Thu, Aug 20, 2015 at 12:01:27PM +0530, punnaiah choudary kalluri wrote:
quoted
On Thu, Aug 20, 2015 at 11:43 AM, Vinod Koul [off-list ref] wrote:
quoted
On Thu, Aug 06, 2015 at 08:49:33AM +0530, Punnaiah Choudary Kalluri wrote:
quoted
+     list_for_each_entry_safe(desc, next, &chan->done_list, node) {
+             dma_async_tx_callback callback;
+             void *callback_param;
+
+             list_del(&desc->node);
+
+             callback = desc->async_tx.callback;
+             callback_param = desc->async_tx.callback_param;
+             if (callback) {
+                     if (in_interrupt())
+                             spin_unlock_bh(&chan->lock);
+                     else
+                             spin_unlock(&chan->lock);
This looks bad!
Why would callback be called from different context. It should only be
invoked from your tasklet
During the terminate call, driver need to clean up the existing BDs so that time
this function will be called from the thread or process context in
addition to the
tasklet context.

DO you have any suggestion here ?
Yes you need to terminate but you don't need to invoke user for terminate
flow. It is not expected.
Terminate flow expect youu to clean the channels
Ok. Thanks. I will fix this and send v5 soon.

Regards,
Punnaiah
--
~Vinod
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help