mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-10 06:09:23 -04:00
qcacmn: use disable_irq for EXT GRP IRQs
Currently, as part of device suspend, EXT GRP IRQs are disabled. disable_irq_nosync() which is currently being used to disable interrupts will not wait for pending IRQs to completion. With this API, there is a chance where IRQ handler can be executed after the device suspend. Use disable_irq() instead so that pending IRQs will be completed before returing from disable_irq(). CRs-Fixed: 2904518 Change-Id: Ib9acabe89b0337add82918be24b4782a6b125d05
This commit is contained in:
parent
cf6160e872
commit
e40743bbf2
1 changed files with 8 additions and 4 deletions
|
|
@ -624,7 +624,7 @@ int hif_apps_grp_irqs_enable(struct hif_opaque_softc *hif_ctx)
|
|||
{
|
||||
struct hif_exec_context *hif_exec;
|
||||
struct hif_softc *scn;
|
||||
int i;
|
||||
int i, j;
|
||||
|
||||
QDF_BUG(hif_ctx);
|
||||
scn = HIF_GET_SOFTC(hif_ctx);
|
||||
|
|
@ -636,7 +636,9 @@ int hif_apps_grp_irqs_enable(struct hif_opaque_softc *hif_ctx)
|
|||
if (!hif_exec)
|
||||
continue;
|
||||
|
||||
hif_exec->irq_enable(hif_exec);
|
||||
for (j = 0; j < hif_exec->numirq; j++)
|
||||
pfrm_enable_irq(scn->qdf_dev->dev,
|
||||
hif_exec->os_irq[j]);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
@ -646,7 +648,7 @@ int hif_apps_grp_irqs_disable(struct hif_opaque_softc *hif_ctx)
|
|||
{
|
||||
struct hif_exec_context *hif_exec;
|
||||
struct hif_softc *scn;
|
||||
int i;
|
||||
int i, j;
|
||||
|
||||
QDF_BUG(hif_ctx);
|
||||
scn = HIF_GET_SOFTC(hif_ctx);
|
||||
|
|
@ -658,7 +660,9 @@ int hif_apps_grp_irqs_disable(struct hif_opaque_softc *hif_ctx)
|
|||
if (!hif_exec)
|
||||
continue;
|
||||
|
||||
hif_exec->irq_disable(hif_exec);
|
||||
for (j = 0; j < hif_exec->numirq; j++)
|
||||
pfrm_disable_irq(scn->qdf_dev->dev,
|
||||
hif_exec->os_irq[j]);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
|
|||
Loading…
Reference in a new issue