Re: [PATCH] omap: resource: Add per-resource mutex for OMAP resource framework

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Mike Chan <mike@xxxxxxxxxxx> writes:

> On Tue, Mar 9, 2010 at 4:09 PM,  <y@xxxxxxxxxx> wrote:
>> From: Chunqiu Wang <cqwang@xxxxxxxxxxxx>
>>
>> Current OMAP resource fwk uses a global res_mutex
>> for resource_request and resource_release calls
>> for all the available resources.It may cause dead
>> lock if resource_request/resource_release is called
>> recursively.
>>
>> For current OMAP3 VDD1/VDD2 resource, the change_level
>> implementation is mach-omap2/resource34xx.c/set_opp(),
>> when using resource_release to remove vdd1 constraint,
>> this function may call resource_release again to release
>> Vdd2 constrait if target vdd1 level is less than OPP3.
>> in this scenario, the global res_mutex down operation
>> will be called again, this will cause the second
>> down operation hang there.
>>
>> To fix the problem, per-resource mutex is added
>> to avoid hangup when resource_request/resource_release
>> is called recursively.
>>
>> Signed-off-by: Chunqiu Wang <cqwang@xxxxxxxxxxxx>
>> Signed-off-by: Mike Chan <mike@xxxxxxxxxxx>
>> ---
>>  arch/arm/plat-omap/include/plat/resource.h |    2 ++
>>  arch/arm/plat-omap/resource.c              |   21 ++++++++++-----------
>>  2 files changed, 12 insertions(+), 11 deletions(-)
>>
>> diff --git a/arch/arm/plat-omap/include/plat/resource.h b/arch/arm/plat-omap/include/plat/resource.h
>> index 9acebcc..b5aff1f 100644
>> --- a/arch/arm/plat-omap/include/plat/resource.h
>> +++ b/arch/arm/plat-omap/include/plat/resource.h
>> @@ -54,6 +54,8 @@ struct shared_resource {
>>        /* Shared resource operations */
>>        struct shared_resource_ops *ops;

[...]

>
> Oops, my git client was slightly screwed up, apologies, I meant to
> send this from mike@xxxxxxxxxxx, the patch is still good though :)
>

FYI... SRF is currently only in the PM branch of the OMAP tree, is
deprecated and is not targeted for mainline.  

I'll merge this there, but please note that there is no new
development happening for SRF.

Thanks,

Kevin

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux