qcacmn: Use suspend_noirq callback instead of disabling irqs
Disabling the interrupts and setting them as wakeup sources does not work as expected. The pending interrupt gets trapped in sw and kernel does not check for it before finishing the suspend. Instead, use the suspend_noirq callback to guarantee that wakeup messages don't get processed without rejecting the suspend. Change-Id: I5ec5ce2a7e1b14c3d8477fe7aa0372c9ffd4dc0d CRs-Fixed: 1060880
This commit is contained in:

committed by
qcabuildsw

parent
e28261fdb1
commit
7fdff0c52f
@@ -83,6 +83,34 @@ int hif_dummy_bus_resume(struct hif_softc *hif_ctx)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* hif_dummy_suspend_noirq() - suspend the bus
|
||||
* @hif_ctx: hif context
|
||||
*
|
||||
* dummy for busses that don't need to syncronize
|
||||
* with interrupt disable.
|
||||
*
|
||||
* Return: 0 for success and non-zero for failure
|
||||
*/
|
||||
int hif_dummy_bus_suspend_noirq(struct hif_softc *hif_ctx)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* hif_dummy_resume_noirq() - resume the bus
|
||||
* @hif_ctx: hif context
|
||||
*
|
||||
* dummy for busses that don't need to syncronize
|
||||
* with interrupt disable.
|
||||
*
|
||||
* Return: 0 for success and non-zero for failure
|
||||
*/
|
||||
int hif_dummy_bus_resume_noirq(struct hif_softc *hif_ctx)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* hif_dummy_target_sleep_state_adjust() - api to adjust state of target
|
||||
* @scn: hif context
|
||||
|
Reference in New Issue
Block a user