mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-11 15:11:48 -04:00
qcacmn: Fix kernel panic in hif_ahb_configure_grp_irq
Move qal_vbus_get_irq out of irq locks as it can sleep and cause kenel panic. Change-Id: Id00e0cdc978fbd3889a39a48d8b757d8c3e0d754 CRs-Fixed: 2602900
This commit is contained in:
parent
d13ed3e9e1
commit
b3989495c7
1 changed files with 7 additions and 3 deletions
|
|
@ -313,8 +313,6 @@ int hif_ahb_configure_grp_irq(struct hif_softc *scn,
|
|||
hif_ext_group->irq_name = &hif_ahb_get_irq_name;
|
||||
hif_ext_group->work_complete = &hif_dummy_grp_done;
|
||||
|
||||
qdf_spin_lock_irqsave(&hif_ext_group->irq_lock);
|
||||
|
||||
for (j = 0; j < hif_ext_group->numirq; j++) {
|
||||
ret = pfrm_get_irq(&pdev->dev, (struct qdf_pfm_hndl *)pdev,
|
||||
ic_irqname[hif_ext_group->irq[j]],
|
||||
|
|
@ -325,6 +323,13 @@ int hif_ahb_configure_grp_irq(struct hif_softc *scn,
|
|||
goto end;
|
||||
}
|
||||
ic_irqnum[hif_ext_group->irq[j]] = irq;
|
||||
hif_ext_group->os_irq[j] = irq;
|
||||
}
|
||||
|
||||
qdf_spin_lock_irqsave(&hif_ext_group->irq_lock);
|
||||
|
||||
for (j = 0; j < hif_ext_group->numirq; j++) {
|
||||
irq = hif_ext_group->os_irq[j];
|
||||
irq_set_status_flags(irq, IRQ_DISABLE_UNLAZY);
|
||||
ret = pfrm_request_irq(scn->qdf_dev->dev,
|
||||
irq, hif_ext_group_interrupt_handler,
|
||||
|
|
@ -336,7 +341,6 @@ int hif_ahb_configure_grp_irq(struct hif_softc *scn,
|
|||
ret = -EFAULT;
|
||||
goto end;
|
||||
}
|
||||
hif_ext_group->os_irq[j] = irq;
|
||||
}
|
||||
qdf_spin_unlock_irqrestore(&hif_ext_group->irq_lock);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue