2012-10-01 09:59:40

by Inderpal Singh

[permalink] [raw]
Subject: Re: [PATCH 3/3] DMA: PL330: Balance module remove function with probe

On 28 September 2012 16:28, Jassi Brar <[email protected]> wrote:
> On Fri, Sep 28, 2012 at 10:03 AM, Inderpal Singh
> <[email protected]> wrote:
>>
>> Now, if we have to check if any client is using the channel and then
>> decide. We will have to traverse the channel list twice once to check
>> the usage and second time to delete the nodes from the list if we go
>> ahead with remove.
>> The remove will look like below:
>>
>> @@ -3008,18 +3008,19 @@ static int __devexit pl330_remove(struct
>> amba_device *adev)
>> if (!pdmac)
>> return 0;
>>
>> + /* check if any client is using any channel */
>> + list_for_each_entry_safe(pch, _p, &pdmac->ddma.channels,
>> + chan.device_node) {
>> +
>> + if (pch->chan.client_count)
>> + return -EBUSY;
>> + }
>> +
> The iteration doesn't have to be the 'safe' version here. Other than
> that it seems OK.

Ok. I will update the patch and send again.

Thanks,
Inder