drivers: net: davinci_cpdma: remove spinlock as SOFTIRQ-unsafe lock order detected
[deliverable/linux.git] / drivers / net / ethernet / ti / davinci_cpdma.c
index 4a000f6dd6fc35d274f585a8536bd325666fdcb2..657b65bf5cac64254b4db7c845038d2e40549a8c 100644 (file)
@@ -193,12 +193,9 @@ fail:
 
 static void cpdma_desc_pool_destroy(struct cpdma_desc_pool *pool)
 {
-       unsigned long flags;
-
        if (!pool)
                return;
 
-       spin_lock_irqsave(&pool->lock, flags);
        WARN_ON(pool->used_desc);
        if (pool->cpumap) {
                dma_free_coherent(pool->dev, pool->mem_size, pool->cpumap,
@@ -206,7 +203,6 @@ static void cpdma_desc_pool_destroy(struct cpdma_desc_pool *pool)
        } else {
                iounmap(pool->iomap);
        }
-       spin_unlock_irqrestore(&pool->lock, flags);
 }
 
 static inline dma_addr_t desc_phys(struct cpdma_desc_pool *pool,
@@ -561,7 +557,6 @@ int cpdma_chan_destroy(struct cpdma_chan *chan)
                cpdma_chan_stop(chan);
        ctlr->channels[chan->chan_num] = NULL;
        spin_unlock_irqrestore(&ctlr->lock, flags);
-       kfree(chan);
        return 0;
 }
 EXPORT_SYMBOL_GPL(cpdma_chan_destroy);
This page took 0.028885 seconds and 5 git commands to generate.