[PATCH 1/4] ARM: PL330: Don't call the callbacks if there isn't any active transfer
Javi Merino
javi.merino at arm.com
Wed Nov 23 04:46:18 EST 2011
Hi Jassi,
On 22/11/11 17:16, Javi Merino wrote:
> On 16/11/11 06:24, Jassi Brar wrote:
>> On 15 November 2011 22:30, Jassi Brar <jassisinghbrar at gmail.com> wrote:
>> I think the following strikes just the right balance and should fix
>> the issue ...
>>
>> diff --git a/arch/arm/common/pl330.c b/arch/arm/common/pl330.c
>> index 7129cfb..ecbca3f 100644
>> --- a/arch/arm/common/pl330.c
>> +++ b/arch/arm/common/pl330.c
>> @@ -1480,13 +1480,19 @@ int pl330_update(const struct pl330_info *pi)
>>
>> /* Now that we are in no hurry, do the callbacks */
>> while (!list_empty(&pl330->req_done)) {
>> + struct pl330_req *r;
>> +
>> rqdone = container_of(pl330->req_done.next,
>> struct _pl330_req, rqd);
>>
>> list_del_init(&rqdone->rqd);
>>
>> + /* Detach the req */
>> + r = rqdone->r;
>> + rqdone->r = NULL;
>> +
>> spin_unlock_irqrestore(&pl330->lock, flags);
>> - _callback(rqdone->r, PL330_ERR_NONE);
>> + _callback(r, PL330_ERR_NONE);
>> spin_lock_irqsave(&pl330->lock, flags);
>> }
>
> I'll try this patch and if it works we can submit it instead of my
> original one.
It worked! Can you please send it to Russell's patch system? You can
add a:
Tested-by: Javi Merino <javi.merino at arm.com>
Cheers,
Javi
More information about the linux-arm-kernel
mailing list