[PATCH 4/8 resend] dw_dmac: calling dwc_scan_descriptors from dwc_tx_status() after taking lock
viresh kumar
viresh.kumar at st.com
Wed Mar 2 22:44:46 EST 2011
On 03/02/2011 11:43 PM, Koul, Vinod wrote:
> On Mon, 2011-02-28 at 16:11 +0530, Viresh Kumar wrote:
>> Signed-off-by: Viresh Kumar <viresh.kumar at st.com>
>> ---
>> drivers/dma/dw_dmac.c | 2 ++
>> 1 files changed, 2 insertions(+), 0 deletions(-)
>>
>> diff --git a/drivers/dma/dw_dmac.c b/drivers/dma/dw_dmac.c
>> index 3bf4772..5cc5abf 100644
>> --- a/drivers/dma/dw_dmac.c
>> +++ b/drivers/dma/dw_dmac.c
>> @@ -830,7 +830,9 @@ dwc_tx_status(struct dma_chan *chan,
>>
>> ret = dma_async_is_complete(cookie, last_complete, last_used);
>> if (ret != DMA_SUCCESS) {
>> + spin_lock_bh(&dwc->lock);
>> dwc_scan_descriptors(to_dw_dma(chan->device), dwc);
>> + spin_unlock_bh(&dwc->lock);
>>
>> last_complete = dwc->completed;
>> last_used = chan->cookie;
>
> Please always add a short description in the patch, helps in long run
>
Sure.
> Shouldnt you be doing this for dwc_handle_error() as well? I see thats
> called without taking the lock....
>
dwc_handle_error is called from dw_dma_tasklet with lock held. So its not
required there.
--
viresh
More information about the linux-arm-kernel
mailing list