Merge "msm: ipa3: fix a race condition on clock vote from suspend"
This commit is contained in:
commit
199c942a22
2 changed files with 6 additions and 0 deletions
|
@ -3685,6 +3685,7 @@ void ipa_suspend_handler(enum ipa_irq_type interrupt,
|
||||||
* pipe will be unsuspended as part of
|
* pipe will be unsuspended as part of
|
||||||
* enabling IPA clocks
|
* enabling IPA clocks
|
||||||
*/
|
*/
|
||||||
|
mutex_lock(&ipa_ctx->sps_pm.sps_pm_lock);
|
||||||
if (!atomic_read(
|
if (!atomic_read(
|
||||||
&ipa_ctx->sps_pm.dec_clients)
|
&ipa_ctx->sps_pm.dec_clients)
|
||||||
) {
|
) {
|
||||||
|
@ -3697,6 +3698,7 @@ void ipa_suspend_handler(enum ipa_irq_type interrupt,
|
||||||
1);
|
1);
|
||||||
ipa_sps_process_irq_schedule_rel();
|
ipa_sps_process_irq_schedule_rel();
|
||||||
}
|
}
|
||||||
|
mutex_unlock(&ipa_ctx->sps_pm.sps_pm_lock);
|
||||||
} else {
|
} else {
|
||||||
resource = ipa2_get_rm_resource_from_ep(i);
|
resource = ipa2_get_rm_resource_from_ep(i);
|
||||||
res = ipa_rm_request_resource_with_timer(
|
res = ipa_rm_request_resource_with_timer(
|
||||||
|
|
|
@ -3614,6 +3614,8 @@ void ipa3_suspend_handler(enum ipa_irq_type interrupt,
|
||||||
* pipe will be unsuspended as part of
|
* pipe will be unsuspended as part of
|
||||||
* enabling IPA clocks
|
* enabling IPA clocks
|
||||||
*/
|
*/
|
||||||
|
mutex_lock(&ipa3_ctx->transport_pm.
|
||||||
|
transport_pm_mutex);
|
||||||
if (!atomic_read(
|
if (!atomic_read(
|
||||||
&ipa3_ctx->transport_pm.dec_clients)
|
&ipa3_ctx->transport_pm.dec_clients)
|
||||||
) {
|
) {
|
||||||
|
@ -3626,6 +3628,8 @@ void ipa3_suspend_handler(enum ipa_irq_type interrupt,
|
||||||
1);
|
1);
|
||||||
ipa3_sps_process_irq_schedule_rel();
|
ipa3_sps_process_irq_schedule_rel();
|
||||||
}
|
}
|
||||||
|
mutex_unlock(&ipa3_ctx->transport_pm.
|
||||||
|
transport_pm_mutex);
|
||||||
} else {
|
} else {
|
||||||
resource = ipa3_get_rm_resource_from_ep(i);
|
resource = ipa3_get_rm_resource_from_ep(i);
|
||||||
res =
|
res =
|
||||||
|
|
Loading…
Add table
Reference in a new issue